IE8はCSS式をサポートしません

設計基準(標準への準拠、パフォーマンス、信頼性、およびセキュリティ)は、新しいブラウザー機能と既存のブラウザー機能の両方を制限します。 その結果、CSS式はIE8標準モードでサポートされなくなりました。 この変更はすでにIEのブログで発表されていますが、開発者は決定に関する追加の詳細を共有することにしました。 彼らは、それが何であるか、なぜ拒否したのか、どのように私たちを脅かすのかという質問に答えました。



CSS式とは何ですか?



Dynamic Expressionsとも呼ばれ、独自のCSS式がIE5に登場しました。 jQueryやDojoなどのJavaScriptライブラリーが登場するずっと前から、Web開発者はCSSセレクターを使用してスクリプトをページに動的に添付できました。 たとえば、次のCSS宣言では、時刻に応じてページの背景色を変更できます。



div.title { background-color: expression( (new Date()).getHours()%2 ? "#B8D4FF" : "#F08A00" ); }







なぜ終わらせるのですか?





標準に準拠するため。


これらの式はIE独自のものであり、普遍的に使用することはできません。

それらの一般的な用途は、IEエラーと戦うこと、またはmin-widthやmax-widthなど、まだサポートされていないCSS 2.1機能をエミュレートすることでした。 開発者はエラーに苦労しただけでなく、最初に必要な機能をサポートする新しいエンジンを作成しました。



生産性を向上させるため。


式の評価は非常にリソースを消費します。 Steve SodersなどのWebパフォーマンスの専門家は、クライアントがより速く動作するようにそれらを避けることをお勧めします。



ブラウザの攻撃対象を減らすには


スクリプトコンテキストを開くことにより、CSS式はコードを挿入するための可能な方法です。



IE7およびQuirksモードでも式は引き続き使用できますか?



うん。 下位互換性のために、CSS式はOdditiesモードとIE7 Strictモードで引き続き実行されます。 ただし、IE8 Beta2以降、IE8標準モードでは無視されます。



私のサイトのページはCSS式を使用しています。 これは私にどのような影響を与えますか?





新しいIE8エンジンのおかげで、CSS 2.1のサポートのエラーと制限を回避するために書かれたほとんどの式は不要になり、すべてが正常にとにかく正しく動作します。

より具体的な目的のために、他のブラウザとの互換性が高く、パフォーマンスに影響を与えない標準JavaScriptを使用してすべてを達成できます。



開発者が現在修正しているものを修正するために一般的に使用される機能である式サポートの中止は、将来の何億人ものユーザーにとってIE8標準をより速く、より安全にするのに役立ちます。



All Articles