改善ニュース・最新動向feedRSSこの広告は、90日以上更新していないブログに表示しています。SI向けIEのドキュメントモード機能が存在しなかったIE5〜7で、どのバージョンでも同じ仕様を持つプラットフォームを得るには、IE5の動作を再現させる「Quirksモード」を有効にするしか手段がありませんでした。当時のIEは相互運用性が低く、バージョンごとの動作が異なるため、マルチバージョン下で動作するコンテンツ制作はコストが高くなりがちでした。そこで、少し複雑性の高い作り込みをクライアント側へ仕込む場合、レガシーIE向けコンテンツを動作させるために作られたはずの「Quirksモード」を、あえて有効にして新規開発を行った方が、IEのマルチバージョン下で動作させるWebシステムのリスク・コストを最小化させるという最悪のジレンマに陥りました。このジレンマは、IE8への段階的移行を行っている際にも有効になります。IE6や7で動作させていた時は最新のレンダリングエンジン(標準モード)で動作させていたにも関わらず、IE8では動作がおかしくなるため、全てのHTMLドキュメントからDOCTYPE宣言を外し、Quirksモードが有効化させるという良くない手段に出てしまいます。本来であれば、「イントラネット互換表示」を活用すべきですが、ActiveDirectoryへの変更が提案できないなどの要因が絡み、システム単体で対策できるDOCTYPEを外すという手段に出てしまいます。非常に良くないジレンマです。このバッドプラクティスは、理論上、社内の標準OSがWindows7になるまで有効化します。既存の環境にはIE5がいないから大丈夫だと安心していると、問題になることがあります。XPのバージョンアップ対応では以下の点に注意する必要があります。IE8〜11への移行時の注意点(その1)IE8から11では、X-UA-Compatibleという機能が提供されています。このパラメータを利用した場合、IEはDOCTYPEスイッチよりも、X-UA-Compatibleの設定を優先してしまいます。IE6向けのWebシステムをIE8〜10へ移行する場合、X-UA-CompatibleにはIE7を指定するのが定石です。何も考えずに以下を設定するのは危険です。IE=7最も安全なのは、以下の設定です。IE=EmulateIE7この設定は、デフォルトはIE7互換で動作させ、DOCTYPEスイッチの内容次第ではQuirksモードで動作させるという動きになります。そもそもですが、Windows7系の場合、IE6向けコンテンツを動作させるには、「イントラネット互換表示」を利用するか、IEのバージョンが9〜10の場合は「互換表示リスト」を利用すべきです。これらの機能を利用した場合、DOCTYPEスイッチの判定が優先されるため、リスクが最適化されます。通常時はIE7モードとして動かし、DOCTYPEスイッチでQuirksモードが有効な場合は、Quirksモードが優先されるという、望ましい動作をします。IE8だけは、互換表示リストが有効な場合は常に「Quirksモード」になります。このため、移行は「イントラネット互換表示」を使うか、「X-UA-Compatible」を各システムに設定して回るという非常に泥臭い対策を行わなくてはいけないことがあります。IE8〜11への移行時の注意点(その2)IE6はXHTML1.0のDOCTYPEの解釈に問題があり、意図せずQuirksモードで動いていることがあります。これに気付かず開発が行われていた場合、IE7以上への移行では、イントラネット互換表示も、互換表示リストも使うことができない、実質的にX-UA-Compatibleでしか対策が行えないという状況に陥ります。詳しくは、以下のページを参照して下さい。IE10への移行時の注意点IE10では、Quirksモードが2種類あります。単純にDOCTYPE宣言を使ってQuirksモードを動作させた場合、IE5とは互換性の無いQuirksモードが動作してしまいます。これを改善するには、X-UA-Compatibleとの合わせ技が必要です。詳しくは、以下のページを参照して下さい。IE11への移行時の注意点IE11からは、DOCTYPEスイッチが無視されます。従来の方法では、Quirksモードは有効になりません。)IEは11でドキュメントモードが非推奨化されたため、今後は機能が廃止されることも予想されます。Quirksモードで動作しているWebシステムは、「動作/機能検出」の指針に基づいた作り込みで、相互運用性の高いIE9以上で動作するように改修する必要があります。XPも、2014年4月9...2013-11-27IE11を裏ワザ的なやり方でDOCTYPEスイッチを有効化する方法IE11はDOCTYPEスイッチが機能しません。寛)2009年よりNTT系SIerにてエンタープライズOSSやWebの技術を推進。2015年よりピクシブ株式会社にWeb系エンジニアとしてジョイン。2016年からは、同社のマネージャー職として活動しています。html5jパフォーマンス部とか、日本Cordovaユーザー会を立ち上げたり。エキスパートだったり。2015年1月号「特集:HTML5」他、執筆。「2014年4月」はIEの歴史を動かした。-はてなブログをはじめよう!furoshiki0223さんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。