小さい頃はエラ呼吸

いつのまにやら肺で呼吸をしています。


JavaScript

初心者のためのJavaScriptのスコープ

はじめに JavaScriptのスコープについて、あらためて勉強する機会があったので、まとめてみました。よくわかるJavaScriptの教科書posted with amazlet at 14.02.04たにぐち まこと マイナビ 売り上げランキング: 11,386Amazon.co.jpで詳細を見る プログラミ…

iPhoneからのアクセスかどうか判定できるJSライブラリDetecting WebKit with JavaScript

はじめに iPhoneでは、基本的にUA(UserAgent)を変更することができないため、サーバサイドでUAを判定すればiPhone用のページにリダイレクトをかけたり、iPhone用のスタイルシートを適用したりすることができます。 iPhone/iPod touchのMobileSafariは基本的…

社内でJavaScript(JS)の勉強会をやってみたよ。(2)

社内でJavaScriptの勉強会を開催してみました。 第2回目の今回は、JavaScriptの基礎文法とJavaScriptの型をテーマにお話しました。基礎文法についての資料を作成する際には、JavaScript基礎文法最速マスター - なんとなく日記 が非常に参照になりました。 参…

JavaScriptを学ぶ上で避けては通れないレキシカルスコープ

photo credit: bk1bennett via photopin cc はじめに JavaScriptを学習する上で最も難解ではないかと思うのが、レキシカルスコープ(静的スコープ)とそれを利用したクロージャという仕組みです。両者のうち、レキシカルスコープだけは、なんとなく理解できて…

JavaScriptのtypeof演算子は判定できる型が限られている

JavaScriptにおいて、引数として与えられた値の型を調べることのできるtypeof演算子というものがあります。このtypeof演算子は判定できる型が限られているようです。 以下のエントリのコメント欄で知りました。 JavaScriptのデータ型と変数の追記(jsのスコー…

IE7でconsole.logを使えるようにする方法(要IE7Pro)

JavaScriptの実行時に、変数の値を確認する最も手軽な方法が、window.alert関数を使って変数の値をダイアログに出力する方法です。 しかしながら、window.alertには以下のような問題があり、最近ではwindow.alertよりもconsole.logという関数を使うことが多…

社内でJavaScript(JS)の勉強会をやってみたよ。

社内でJavaScriptの勉強会を開催してみました。 定時後の18:30くらいから約90分。第1回目の今回は、JavaScriptの概要とJavaScriptで出来ることをテーマにお話しました。 参考にした資料 JavaScriptの概要やJavaScriptで出来ることをお話する上で、以下の資料…

JavaScriptでページのレンダリング時間をミリ秒単位で簡易計測する

Webページのレンダリング時間を計測する方法を調べていたら、JavaScriptで簡単に計測する方法を見つけました。 ページ構築(bodyタグ内)のレンダリング(ページの表示時間)を計測するには、ページ構築前のミリ秒を変数に入れます。ページが構築し終わった…

今さらながらWHS(JavaScript)でIEを操作する方法を調べてみた。

はじめに WSH(Windows Script Host)を利用すると、スクリプトからIEを起動して、任意のページを表示して、ボタンをクリックする、なんてことが特別なツールをインストールすることなくできます。 これを利用すると、Webアプリケーションのテストツールが作れ…

JavaScriptでtableタグをスクレイピングして値を取り出す方法

テーブルレイアウトで作成されたWebページやtableタグで組まれた表の値をスクレイピングして取り出すときには、JavaScriptでtableの列や行を走査して、値を取得していく必要があります。そこで、JavaScriptでtableタグの列や行を扱う方法をまとめてみました…

Ajaxでエキサイト中国語翻訳(IE限定)

今更ながらAjaxのサンプルを作ってみました。ローカルにあるHTMLファイルからエキサイト中国語翻訳の結果を非同期で取得してみます。 HTML(translator.html) 読み込み中に表示されるローディングインジケータの画像(ajax-loader.gif)は、以下のサイトで…

今さらながらJavaScriptのwindow.showModalDialogについて調べてみた。

はじめに このエントリでは、モーダルダイアログを表現するJavaScriptのwindow.showModalDialogの基本的な使い方について書いています。JavaScript本格入門 〜モダンスタイルによる基礎からAjax・jQueryまでposted with amazlet at 11.04.27山田 祥寛 技術…

クリックしたボタンのラベルを取得するユーザスクリプト

クリックしたボタンのラベルを取得するユーザスクリプトを書いてみました。こんなのがなんの役に立つのと言われると答えに困りますが、Webアプリのテストでボタンのラベルをコピーしたい時がありまして、このスクリプトを書きました。 ※ちなみに、IE7の場合…

今さらながらJavaScriptのwindow.openについて調べてみた。

はじめに JavaScriptで新規ウインドウを表示するコードを書いていて、ちょっとつまづいたので、今さらながらJavaScriptのwindow.openや親子ウインドウの制御について調べてみました。※以下のコードはすべてIE7で検証しています。ノンプログラマのためのJavaS…

テキストボックスのフォーカス時に文字列を全部選択するJavaScript

検索窓などのテキストボックスにフォーカスがあたった際に、検索窓内の文字列を全部選択してあげるインタフェースは、細かなことですが親切でとても良いと思います。Firefoxに組み込まれている検索窓にはこの機能が実装されているようですが、本家Googleには…

ExcelのCtrl + ;キーで現在日を入力するショートカットをブラウザでやってみた。

ExcelでCtrl + ;キーを押すと、今日の日付が入力されます。結構便利で、よく使うのですが、ブラウザでもあれをやってみたいと思い、ユーザスクリプトで作ってみました。 InsertTodayShortcut(IE限定) // ==UserScript== // @name InsertTodayShortcut // @…

GraniでGreasemonkeyのようなユーザスクリプトを動作させる方法

IEをベースとしたブラウザに、フェンリル株式会社が開発するGraniというものがあります。Graniの特徴は、IEと同じレンダリングエンジン(Trident)を使用しているため、ページをIEとほぼ同じように表示することができます。*1さらに、IEにはないマウスジェス…

フレームページでも動作するブックマークレットを書く際のテンプレ

ブックマークレットを作る際に、普通に書くとフレームページで動作しないことがあります。フレームページに対応するため、まずスクリプトを実行するページがフレームページなのかどうかを判定して、処理を行う必要があります。コードにすると以下のような感…

select ボックスを抜群に使いやすくするjQselectableを試してみた。

phpspot開発日誌さんのところで、select ボックスを超便利にしてくれるjQselectableが紹介されていました。すごく良さそうだったので、試してみました。 jQselectableは、jQueryのプラグインで、selectボックスを一覧で表示する際に見やすく、そして選択しや…

ブラウザのデフォルト言語に応じて動的にCSS(スタイルシート)を切り替える方法

カスケーディングスタイルート(以下CSS)では、条件によってスタイルを切り替えるといった、スクリプトのような条件分岐を行うことができません。*1 このため、ページに適用するスタイルを動的に切り替える方法の1つとして、JavaScriptでCSSファイルを切り替…

Ajax - iTunes Store検索のサンプルを試してみた。

404 Blog Not Foundさんのエントリにある、Ajax - iTunes Store検索のサンプルを試してみました。 404 Blog Not Found:Ajax - iTunes Store 検索 ローカルで動かしてみる ローカルで実行するため、次のようなHTMLを用意します。JavaScriptの部分は、編集しや…

テーブルをソート可能にするライブラリTableSorterを試してみた。

はじめに 以下のサイトを参考に、jQueryのプラグインである、ソート用ライブラリtablesorterを試してみました。 ASCII.jp:普通のtableタグを1行で動く表にするJSライブラリ|29分でできる! あのサイトの“技”を盗め tablesorterを動かしてみる Download jQu…

ページ内のチェックボックスをすべてチェックするブックマークレット

2010.6.26追記 Hatena::Letでブックマークレット公開しました。こちらのほうがブックマークしやすいのでぜひご利用ください。 ページ内のチェックボックスをすべてチェックする - Hatena::Let はじめに 2年前くらいにすべてチェックブックマークレット - 大…

ブックマークレットの作り方と個人的にハマったところ(Internet Explorer編)

はじめに InternetExplorer(以下IE)におけるブックマークレットの作り方と個人的にハマったところをまとめてみました。 2009.10.12追記 少し説明を加筆し、表現を直しました。 ブックマークレットの作り方 スクリプトを実行するためのインターネットショー…

Internet Explorerで発生するフォーカスをコントロールに移動できません。というエラーについて

Internet Explorerでdisableな要素に対してfocusを設定しようとすると、以下のようなエラーが発生する。 フォーカスをコントロールに移動できません。コントロールは表示されていない、使用できない状態、またはフォーカスを受け入れない種類です。 またdisa…

メッセージ通知用のJavaScriptライブラリ「Notimoo」を試してみた。

phpspot開発日誌さんのエントリで、NotimooというJavaScriptライブラリを知った。会社で運用しているホームページに使えないかなと思い、ちょっと試してみた。 利用者に対し非常に分かりやすい通知を行うためのJavaScriptライブラリ「Notimoo」:phpspot開発…

JsDoc Toolkit2.1.0でJavascriptのドキュメントを自動生成する

はじめに 1年くらい前に、JsDoc ToolkitでJavascriptのドキュメントを自動生成 - 大人になったら肺呼吸というエントリで、JsDoc ToolkitというJavaScriptのドキュメントジェネレータについて書きました。その後、Jsdoc Toolkitがアップデートされ、メジャー…

JavaScriptで関数が存在するかどうかを確認する

はじめに この記事では、JavaScriptで、オブジェクトが特定の関数を持っているかどうかを確認する方法について書いています。よくわかるJavaScriptの教科書posted with amazlet at 14.01.23たにぐち まこと マイナビ 売り上げランキング: 24,381Amazon.co.jp…

Functionオブジェクトのnameプロパティについて

Firefoxで関数を定義し、その関数のnameプロパティを参照すると関数名が取得できる。ただし、hasOwnPropertyでnameプロパティを持っているかを調べるとfalseと返ってくる。 function a() {} alert(a.name); >>a alert(a.hasOwnProperty("name")); >>false そ…

基本からしっかりJavaScript(2)

JavaScriptをきっちりマスターすべく、一から勉強してみる。 変数の宣言と参照 JavaScriptにおける変数の宣言と参照とは、「変数名をキー、変数値を値とした、ハッシュテーブルへの読み書き」であるといえます。 (途中省略)... 変数を宣言すると、変数名を…