1

RewriteRuleCSS3 をサポートしていないブラウザーに異なる CSS と Javascript を提供するために .htaccess で使用するのは悪い考えでしょうか? もしそうなら、なぜですか?

たとえば、CSS3 を完全にサポートしていないブラウザーに特別な CSS と Javascript を提供したいと考えています。

HTMLで使用できることは承知していますが<!--[if xx]>、サーバーレベルで使用する方がクリーンになると思いました。

私を案内してください。

私がそれを計画していた方法の例:

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} "MSIE 9" [or]
RewriteCond %{HTTP_USER_AGENT} "MSIE 8" [or]
RewriteCond %{HTTP_USER_AGENT} "MSIE 7" [or]
RewriteCond %{HTTP_USER_AGENT} "MSIE 6"
RewriteRule the-file-for-all-other-browsers.css /css/style-for-ie-browsers-below-10.css [NC,L]
4

4 に答える 4

2

でこれをどのように行う予定でした.htaccessか? ユーザー エージェント文字列のスニッフィングは誤検知につながる可能性があるため、一般的にはお勧めしませんModernizrのようなものを投入する必要があります。その後、探している特定の機能をサポートしていない幅広いブラウザー向けに、適切なデグラデーション/プラグインを準備できます。

また、言及する価値があります。<!--[if IE]-->タグを使用するオーバーヘッドは最小限です。他のブラウザーはタグを無視してコンテンツをロードしないため、同様のユーザー エージェント文字列を使用するブラウザーでもトリガーされません (Opera を指します)。

于 2012-06-01T14:33:05.343 に答える
1

それは悪い考えだと思います。その .htaccess 書き換えは、すべてのリクエストで処理されます。つまり、画像、すべてのファイル、すべてのものです。これは多くのオーバーヘッドであり、サイトの速度低下につながる可能性があります。

于 2012-06-01T14:33:26.270 に答える
0

htacess の機能サポートを判断できないため、悪いと思います。

ブラウザ スニッフィングを使用してグレースフル デグラデーションを提供するのではなく、高度な機能を表示する前に、ブラウザが必要な機能をサポートしているかどうかを特定する必要があります (プログレッシブ エンハンスメント)。

于 2012-06-01T14:32:59.477 に答える
0

CSS3PIEの使用を検討してください。これは、IE 9、8、および 7 に CSS3 機能を提供するポリフィルを提供します。

于 2012-06-01T14:29:28.927 に答える