2

Web デザイナーが、IE 固有のコメントを含むページを作成してくれました。したがって、ユーザーが特定のバージョンの IE を使用している場合にのみ、特定のスタイルシートが含まれます。

<!--[if lt IE 7]>
<link type="text/css" rel="stylesheet" href="/styles/ie6-fixes.css" media="screen"  />
<![endif]-->

JavaScript ファイルにも同じ手法が使用されています。残念ながら、これにより IE ユーザーへの HTTP リクエストが増えるため、知覚されるページの読み込み時間が遅くなります。通常、私のやり方では、すべての CSS を 1 つのファイルにまとめ、すべての JS を 1 つのファイルにまとめます。

これらの IE 固有のコメントを CSS や JS ファイル自体に含める方法はありますか? または、この機能をシミュレートする方法はありますか?

4

3 に答える 3

3

CSS の場合、IE 固有のコメントを使用して、フォームの要素内のドキュメント コンテンツを囲むことができます。

<div id="IE6">

これにより、セレクターの前に「#IE6」を追加することで、IE6 CSS 修正を実装できます。

詳細については、http://www.positioniseeverything.net/articles/cc-plus.htmlを参照してください。

JScript には、JS ファイルを 1 つに統合するのに役立つ条件付きコンパイルもあります。http://msdn.microsoft.com/en-us/library/ahx1z4fs(VS.80).aspxを参照してください。

于 2010-01-31T11:30:02.850 に答える
1

あなたができることは、動的ビルダーを使用することです。たとえば、条件文では、インライン スクリプトを使用して、ビルドのパラメーターを js 配列に追加できます。次に、その配列を使用して、スクリプト/css のような URL を作成し、/assets/css/build.php?use=base,ie7js に似たものを作成できます。

次に、このphp(または必要な言語のフレーバー)で、minifyまたは他のライブラリを使用して、すべてのスクリプト/ cssを単一のファイルにコンパイルし、すべてのクラフトを取り除いて配信できます。その後、後で配信を高速化するためにビルドをキャッシュすることもできます。

私は、同じことを行う PHP Minify および/またはさまざまな Symfony プラグインを使用する多くのプロジェクトでこの戦略を使用しました。

于 2010-01-27T22:02:18.353 に答える
0

CSS については、他のブラウザーが無視し、IE6 が尊重するさまざまなセレクター トリックを使用することを試みることができますが、これは他のすべてのユーザーにとってわずかなパフォーマンス コストを伴います。

JS の場合、User-Agent 文字列をチェックするように関数を更新できますが、基本的には CSS 提案と同じ問題があります。

于 2010-01-27T22:01:06.267 に答える