Mozilla Foundation, JavaScript Evangelist, John Resig氏は2月29日(米国時間)、自身のブログにおいてBad Object DetectionのタイトルのもとクロスブラウザのJavaScriptコードを記述する際の注意事項をまとめている。同氏はJavaScript Ajax WebアプリケーションフレームワークjQueryの主要開発者であり、このあたりの事情に精通している。
同氏はクロスブラウザのJavaScriptコードを記述するには、使いたい機能ごとに使えるかどうかを検出する方法が一般的なやり方だと説明。オブジェクト検出の方法はケースバイケースで違うとし、いくつかの例を紹介している。特定のプロパティが存在するかどうかで機能の有無を判断する方法が紹介されている。
ただしこうした方法は、未知のブラウザに対しての動作が予測できないという問題を抱えている。たとえば同氏はIEを検出する方法としてdocument.allを使う方法をとりあげ、同方法でIEは検出できるがOperaも検出されてしまうと説明。また特定の機能があるかどうかでチェックする方法もあるが、ライブラリの導入で意味がなくなったり将来のバージョンで導入されることがあるなど、この方法も問題が多いことを指摘している。
![]() |
問題のある利用例 - IEのみならずOperaも一致する |
であればグローバル変数を使ってブラウザを判定する方法が有益のように思えるが、同氏はこの方法にも注意が必要だとしている。windows.operaなどのグローバル変数を使ってブラウザを判定する場合、Operaは当然同処理で一致対象となるが、その判定ではIEも処理対象として動作してしまう。グローバルオブジェクトを判定に使う場合にはかなり注意深く使う必要があることになる。
こうした状況を踏まえ、同氏は2つの指針を提示している。
の2つだ。興味のあるフロントエンドプログラマやWebデベロッパは同氏のブログをチェックしてみてほしい。同氏のブログに対して寄せられているコメントも検討価値のありそうなものが多い。
| 理研、脳・脊髄形成に必要な神経板湾曲の仕組みを解明 [20:16 5/25] |
| 京大、「慢性閉塞性肺疾患」患者の労作時呼吸困難は鍼治療が有効と実証 [20:08 5/25] |
| 120Hz SHVカメラ用イメージセンサーを使った撮像装置 - SHVフルスペック化へ [18:10 5/25] |
| 京大、視覚による物体認知は前頭前野からのトップダウン信号が重要と確認 [17:45 5/25] |
| 製品数の拡大だけでなくBCPの展開なども含めた総合力で事業の強化を図るTI [17:25 5/25] |
|
Gカップグラドル柴小聖、新作は"お尻推し"「体がどんどん絞れてきてる!」 [22:00 5/27] エンタメ |
|
【インタビュー】真木よう子 - 年齢ごとに等身大の女優になりたい [21:30 5/27] エンタメ |
|
[リアル・スティール]DVDとBDセットがオリコンとTSUTAYAで初登場首位 特別映像も公開 [21:11 5/27] エンタメ |
|
ダムエー付録のトランプは54枚全てザク!安彦も大河原も [20:57 5/27] ホビー |
|
【連載】これだけは要チェック! TOEIC(R)単語帳 第108回 今回のお題は…「issue」 [20:00 5/27] キャリア |
4つの診断で、自分の適性を見つめなおそう!
働くこと・挑戦し続けることへの思いを綴ったインタビュー
あなたにピッタリのアドバイスを読むことができます。
転職に必要な情報が収集できます
企業からアプローチのメッセージが届きます。