これで「Internet Explorer 9 Cookbook」の “Application Development Guidelines and Tools for Internet Explorer 9” も終わりです。
翻訳については Microsoft Corporation およびマイクロソフト株式会社とは無関係に hebikuzure が公開情報に基づき独自に行ったものであり、この文書の内容についての文責は公開者である hebikuzure にあります。翻訳の内容および技術的内容については正確を期すよう十分な注意を払っておりますが、誤りや不正確な部分が含まれている可能性がありますので、本文書を利用される際には原文も併せてご確認ください。
Internet Explorer 9 Cookbook > Application Development Guidelines and Tools for Internet Explorer 9
機能とビヘイビアーの検知を利用する
[このドキュメントは速報を目的としており、変更される可能性があります]
影響を受けるInternet Explorer ドキュメント モード
- IE9 標準 | IE8 標準| IE7 標準 | Quirks
詳細
Windows Internet Explorer には多くのバージョンが存在するため、クロス ブラウザーのためのベスト プラクティスを採用すべきです。多くの Web ページにはさまざまなブラウザーのために、異なるブラウザーごとにどのようなコードが実行でき、ページがどのように実行されるのかを確認するメタのテストが含まれています。
Windows Internet Explorer 9 はブラウザー間の相違の影響を軽減し、ブラウザー相互に同じマークアップを使えるようにします。同じマークアップを使うには、それぞれのブラウザーが “ちゃんと動作する” 同じ HTML や JavaScript、CSS のコードを作るための正しい機能をサポートしている必要があり、またそうした機能が利用できるか適切に検出して利用する必要があります。この記事ではブラウザー間の相違に確実に対応できるコードを記述するための、機能とビヘイビアーの検知の利用方法について解説します。
ガイドライン
以下の節で、Web ページをどのブラウザーでも互換性があるようにするために、検知のために取るべき方法と取るべきでない方法について説明しています。
推奨する方法:
エラーの根源をより確実に検知するために以下の検知方法を利用し、Web ページをどのブラウザーにも互換性があるようにします:
- 機能の検知: 機能を利用する前に、ブラウザーがその機能をサポートしているかテストします。機能の検知により、全てのブラウザーについてどのような機能があるか事前に知らなくとも、ブラウザー相互で “ちゃんと動作する” コードが可能になります。例えば jQuery フレームワークはほぼ全面的に機能の検知に依存しています。Web サイト上で jQuery の機能の検知を利用するための詳細情報は、jQuery.support のドキュメントを参照してください。
- ビヘイビアーの検知: 既知の問題への回避策を適用する前に、問題が存在しているかテストします。jQuery は特定の回避策が必要か確認するため既知の問題についてのテストを実行する、ビヘイビアーの検知を利用しています。
取るべきでない方法:
以下のような検知の方法は避けます:
- ブラウザーを特定する: ページの挙動を変更するためのブラウザーの識別 (例えば navigator.userAgent) を利用しないでください。特定したブラウザーごとにコード ベースを変更すれば、ページを変更する事が困難になり、また新しいブラウザーがリリースされたときにうまく動作しなくなります。別の状況として、回避策がもはや必要ではなくなっているのに、レガシーな回避策を使い続ける事になります。
- 関連しない機能を前提にする: 一つの機能の検知結果をもとに別の機能を利用しないでください。この問題のあるサイトでは、特定の機能がサポートされている事を検知して利用するだけでなく、それ以外の機能もサポートされているかどうかに関わらず利用してしまいます。
関連情報
- "Same Markup: Writing Cross-Browser Code"
- IE9 and same markup: A look at DOM events in IE9
- IE9 and same markup: A look at CSS3 borders and corners in IE9
- HTML5: Cross-Browser Best Practices
- jQuery.support documentation
- Same Markup: Explaining "@_jscript_version" and Styling New HTML5 Elements
公開日: 2010年9月14日