0

ブラウザごとにカスタムCSSを作成するのは悪いことだと言う人がいる理由を私は理解していません。ページサイズを小さくしてダウンロード時間を短縮するには、主要なブラウザー(特に、さまざまな形式のIE)用のカスタムcssを作成するのが理にかなっています。一般的に、他のすべてのcssをキャッチします。

cssの世界で肥大化した巨大なスイスアーミーナイフを送りたい場合は、すべての状況ですぐに行ってください。私はあなたを止めるつもりはありません。

これを行うときは、ブラウザをすばやく検出することが重要です。ブラウザを検出するためのJavaScriptファイルのロードは遅いようです。したがって、phpを使用してブラウザーを検出し、指定されたcssを送信することをお勧めします。または、少なくとも一般的なブラウザ固有のcssは、JavaScriptを使用してcssのより詳細なバージョンをロードします。

しかし、なぜこれが悪いことなのかについての記事を次々と読んでいます。これらの各記事の背後にある主な理由は、ユーザーエージェントが偽造される可能性があるためです。または、Firefoxを使用していますが、サーバーはIE7を使用していると見なしているため、間違ったcssファイルを送信します。

Webアプリの開発者/設計者として、なぜこれが私の問題なのですか?Firefoxを使用したいが、サーバーにsafariまたはIE *を使用していることを伝え、見栄えの悪いページが表示される場合、なぜそれが私の問題なのですか?

そして、ユーザーがあなたのサイトを正しく見ることができない場合、彼らが二度と戻ってこない、または私にある種の同様の議論がある場合は、その全体を投げないでください。通常のユーザーはこれを行うことはありません。これを行う方法を知っているのは、私のサイトが安っぽく見えたときに何が悪いのかを知っている人だけです。

これは、古いApple IIで自分のサイトを見て(方法がわからない)、すべてが緑色に見えるので私に怒鳴るのと似ています。

それで、個人的な好みではなく、正当な理由があります。なぜ私はphpを使用してブラウザーを検出し、カスタマイズされたcssファイルを送信するべきではないのでしょうか。

私は主にIEのさまざまなバージョンに対してこれを行います。一部のサイトでは、ifIE6とIE7パーツがcssファイルのサイズの2倍または3倍になっているように見えます。

4

5 に答える 5

2

通常、ユーザーが意図的にユーザーエージェント文字列を偽造する場合、それはユーザーのブラウザで何かが表示されないためです。たとえば、一部のサイトではユーザーをIEまたはFirefoxに制限している場合がありますが、ユーザーはDebianでIceweaselを使用しています。Iceweaselは商標の理由で名前が変更されたFirefoxであるため(他にもいくつかの変更があります)、サイトが機能しない理由はありません。

これは、それにもかかわらずではなく、(悪い)ブラウザ検出が原因で発生することを認識してください。この問題についてひどく心配する必要はないと思います。さらに、サイトを合理的にクロスブラウザ互換にすることができれば、それはまったく問題になりません。本当にブラウザ固有のCSSを使用したいが、すべてを1つのCSSファイルで使用したくない場合は、偽のユーザーエージェントに止めさせないでください。

于 2012-04-20T22:54:40.290 に答える
1

あなたがしているのはスタイルシートを変更することだけである限り、私が知る限り、正当な理由はありません。ブラウザでカスタムセキュリティ対策を提供しようとすると、問題が発生します。

于 2012-04-20T22:53:01.950 に答える
1

phpについてはよくわかりませんが、Railsでは、ユーザーエージェントに基づいてcssファイルとさまざまなレイアウトを提供するのが普通であり、非常に簡単です。特に、サイトが無数の利用可能なモバイルデバイスのいずれかによってアクセスされる可能性が高いことを考慮すると、決して最も人気のある(現在Firefox)ブラウザー用に作成すること、および必要に応じてカスタムMIMEタイプを作成することも非常に簡単です。

IMOがそうしないのは、コーダー側の純粋な怠惰ですが、すべてのサイトがスタイリングの達人を手元に持つ開発者のプロのチームによって開発されているわけではありません。また、Rails以外の言語では、それほど単純ではない場合があります。申し訳ありませんが、PHPについての手がかりがないため、これは適切な返信ではない可能性があります

于 2012-04-20T22:56:03.440 に答える
1

私の意見では、normalize.cssから始めて、基本スタイルシートを開始することで、必要に応じて基本スタイルをオーバーライドすることは、通常、適切なフォールバックを設定することと一緒に機能します。本当に必要な場合は、いくつかのメディアクエリを使用すると、機能の検出に大いに役立ちます。

于 2012-04-21T01:21:33.217 に答える
0

ブラウザに基づいて物事を行うべきではない理由の1つは、GoogleやYahooなどの主要な検索エンジンがブラウザごとに異なるコンテンツを表示することを禁止しているためです。GoogleBotはさまざまなCSSとHTMLを検出する可能性があり、検索の位置が正しくない可能性があります。さらに、広告サービスを使用する場合、さまざまなコンテンツを表示することにより、契約に違反する可能性があります。

于 2012-04-21T01:32:40.837 に答える