付録 1: インターネット エクスプローラー 6 からインターネット エクスプローラー 8 ブラウザーの変更
次の表では、Microsoft Internet エクスプローラー 6 と Windows Internet エクスプローラー 8 の間の変更について説明します。
インターネット エクスプローラー 6 からインターネット エクスプローラー 7 への設計変更
インターネット エクスプローラー 7 からインターネット エクスプローラー 8 への設計変更
${ROWSPAN2}$Internet エクスプローラーバージョン管理${REMOVE}$
ユーザー エージェントの文字列スニッフィング、バージョン ベクトル、または条件付きコメントを使用して、インターネット エクスプローラー 6、Windows インターネット エクスプローラー 7、またはインターネット エクスプローラー 8 に関する特別なケースが正しくないコードを確認します。
- 長いユーザー エージェント (UA) 文字列で、短い UA 文字列のみを受け入れるサーバーが検出されると、 ユーザーにエラー ページが表示されます。
- イントラネット サイトに対して既定で有効になっているインターネット エクスプローラー 8 の互換性ビューは、インターネット エクスプローラー 7 ユーザー エージェント文字列を送信します。 インターネット エクスプローラー 7 と互換性ビューを区別するには、新しい Trident トークンを探します。
${ROWSPAN3}$ Standards コンプライアンス更新プログラム
- 指定したドキュメント モードに適用されます。
- インターネット エクスプローラー 8 互換表示モード。イントラネット サイトでは既定でオンになっています。通常、標準の更新プログラムはインターネット エクスプローラー 7 からインターネット エクスプローラー 8 に戻されます。
- EmulateIE7 X-UA-Compatible HTTP ヘッダーまたは meta 要素を使用して、Web サイトまたは特定の Web ページで互換性ビューを有効にします。
${REMOVE}$
設定変更モードの例外: "standards-compliance" DOCTYPE スイッチを "off" に設定することで、風変わりモード DOCTYPE を指定する Web ページに対して標準コンプライアンスを変更する必要はありません。
インターネット エクスプローラー 7 標準または "厳格" モード以上に適用されます。
- ソース コードの 1 行目の XML プロローグで DOCTYPE 宣言が失敗しなくなりました。
- ボックス モデル オーバーフローコンテンツはボックスと交差し、コンテンツに合わせてボックス div が自動的に拡大されなくなりました。
- 特定の CSS フィルター (*HTML、_underscore、/**/ コメントなど) はサポートされていません。
- 入れ子になったオブジェクトの最も外側の OBJECT 要素のみが インスタンス化されます。
- SELECT 要素を使用 して Microsoft Win32 API で使用する HWND を取得するアプリケーションは、 SELECT 要素 がウィンドウレス コントロールになったため、中断する可能性があります。
- RSS フィードを優先して、チャネル定義形式 (CDF) はサポートされていません。
- X ベースのシステム用に設計されたイメージング形式である XBM はサポートされていません。
- HEADドキュメント外の BASE タグは使用できません。
インターネット エクスプローラー 8 Standards モード以降に適用されます。
- 閉じていない P 要素 の後に TABLE、 FORM、 NOFRAMES、または NOSCRIPT 要素が続くと、自動的に閉じられます。
- 正しい形式 の有効なマークアップを優先して、形式が正しくない HTML はサポートされていません。
- "className" 属性の構文は、"class" 構文を優先してサポートされていません。
- 属性コレクションには、Windows インターネット エクスプローラーが認識できるすべての属性が含まれているわけではありません。
- 属性の順序が変更され、属性コレクション、innerHTML、outerHTML に影響が及びます。
- GetElementById では大文字と小文字が区別され、名前属性は検索されません。
- ジェネリック CSS プレフィックス セレクター (つまり、v\:* 構文) は、明示的なタグ名を優先してサポートされていません。
- CSS 式 は、改善された CSS サポートまたは DHTML ロジックを優先してサポートされていません。
- カスタム JSON オブジェクト メソッドを対象としたコードは、インターネット エクスプローラー 8 の新しいネイティブ JSON オブジェクトと競合する可能性があります。
- currentStyle オブジェクトの初期プロパティの設定を解除すると、その初期値が返されます。
- currentStyle オブジェクト スタイル オブジェクトの未指定のプロパティ値は、空の文字列を返します (たとえば、ASP.NET Menu と IE8 レンダリングの白い問題に関するブログ記事を参照してください)。
- アクセシビリティが懸念されるサイトとアプリケーションの場合は、すべてのインターネット エクスプローラーレンダリング モードで ARIA 構文を更新します。
- インターネット エクスプローラー 6 からインターネット エクスプローラー 8 への CSS 更新プログラムの完全な一覧を確認します。
セキュリティの強化
- ドキュメント モードに関係なく適用します。
- グループ ポリシーを使用してセキュリティ機能をオフにすることができます。
- window.close プロンプトへの window.opener バイパスは許可されていません。
- オブジェクト キャッシュ保護は既定で有効になっています。これにより、ユーザーが新しいドメインを参照するときにオブジェクトの参照へのアクセスがブロックされます (Service Pack 2 (SP2) 以降のバージョンの Windows XP のインターネット エクスプローラー 6 以降のバージョンに適用されます)。
- DHTML スクリプトレット は既定で無効になっています。
- ステータス バーに書き込むスクリプト はブロックされます。
- URL が RFC ガイドラインを満たしていない場合、URL の作成が失敗する可能性があります。
- サイトが SSLv2 のみに構成されている場合、またはサイト セキュリティ証明書が古い場合や無効な場合、エラー が発生した場合、または暗号が弱い場合は、HTTPS ページにエラー ページが表示されます。
- "Punycode" エンコードされた国際化ドメイン名のみがサポートされています。 ANSI や UTF-8 などの他の形式はブロックされます。
- ドメイン間スクリプト URL、DOM オブジェクト内のリダイレクトされたナビゲーション、フレーム ナビゲーションはブロックされます。
- スクリプトから作成されたモーダル ダイアログ ボックスまたはモードレス ダイアログ ボックスは、少し大きく見える場合があります。
- セキュリティで保護されていないプロトコル のビュー ソース、Gopher (WinINET レベル)、Telnet は機能しません。
- XSS フィルター は既定でオンになっています。これは、X-XSS-Protection HTTP ヘッダーを使用して無効にしない限り、Type-1 XSS 攻撃に最も頻繁に似ているスクリプト パターンをブロックします。
- より安全な XDM および XDR AJAX 機能を優先して、SCRIPT SRC のようなクロスドメインのクロスドキュメント通信ハックはサポートされていません。
- URL のハッシュを手動で操作する AJAX 対応サイトは、新しい window.location.hash ナビゲーション プロパティによって壊れている可能性があります。
- XDM などの新しい AJAX 機能には、既存のカスタム プロパティと競合する可能性があるネイティブ プロパティがあります。
- ファイル アップロード コントロール は、完全パスではなくファイル パスのみをサーバーに送信します。
- "image/*" MIME タイプで配信される HTML コードまたはスクリプトは、実行がブロックされます。
- トップレベル フレームを 別のセキュリティ コンテキストでサイトに移動すると、既存のフレーム内を移動するのではなく、新しいウィンドウまたはタブが開きます。
- UTF-7 でエンコードされたスクリプト は Windows-1252 エンコードに強制されるため、プレーン テキスト レンダリングが発生する可能性があります。
- HTTP/HTTPS の "混合モード" ページ には、既定でセキュリティで保護されたアイテムのみが表示されるダイアログ ボックスが表示されます (以前のセキュリティで保護されていない既定値に対して)。 ユーザーは、キー イメージなどの HTTP 要素を誤ってブロックすることを選択する可能性があります。
- DEP/NX は既定でオンになっています。これにより、古いバージョンの ATL を使用してビルドされた特定のアドオン (つまり、ActiveX コントロールと COM オブジェクト) が、メモリ内で "非実行可能" とマークされた実行コードからブロックされます。
- 元のサーバーへの CONNECT 要求に応答して SSL トンネルが確立されていない場合、Web プロキシによって返されるコンテンツはブロックされます。
アーキテクチャの変更
- ドキュメントまたは互換モードに関係なく適用します。
- 保護モード は、 インターネット、イントラネット、および制限付きサイト ゾーンに対して既定で有効になっています。 このモードでは、セキュリティ上のリスクを引き起こす可能性があるブラウザー拡張機能が、アプリケーションの実行や特権の低下を引き起こす可能性がある場合に、[スタート] メニュー、コントロール パネル、Microsoft Windows レジストリ (Windows Vista 以降のバージョンのインターネット エクスプローラー 7 以降のバージョンに適用) などの高い特権プロセスにアクセスできなくなります。
- 保護モードの更新: イントラネットは、既定で (低ではなく) 中程度の整合性レベルで実行されます。
-
疎結合インターネット エクスプローラーは、次のいずれかの操作を行うアドオン (つまり、ActiveX コントロールと COM オブジェクト) をブロックする可能性があります。
- ウィンドウ階層の手法を使用して、UI フレームウィンドウとタブ ウィンドウを見つけます (異なる整合性レベルで個別のプロセスで実行されるようになりました)。
- 低整合性タブ プロセスから UI フレームのサブクラス (現在は中程度の整合性レベル) を作成します。
- UI フレームとタブの間でサポートされていないメッセージング手法を使用します。
関連トピック