11

条件付きコメントを使用して、IE でのみスクリプトをロードすることが可能です。

<!--[if lte IE 7]>
    <script type="text/javascript" src="somescript.js"></script>
<![endif]-->

しかし、IE lte 7 にロードしたくない場合はどうすればよいでしょうか (ただし、他のすべてのブラウザーでは必要です)。

簡単な解決策はありますか?

PS SyntaxHighlighter に問題があります。コードが多すぎると IE7 が遅くなり、時間がないので、IE7 でオフにすることにしました。

4

7 に答える 7

18

この投稿!は、次のような(NOT)演算子を使用できると述べています[if !IE]

于 2011-03-31T19:29:10.800 に答える
4
<!--[if gte IE 7]>
    <script type="text/javascript" src="somescript.js"></script>
<![endif]-->
<!--[if !IE]>
    <script type="text/javascript" src="somescript.js"></script>
<![endif]-->
于 2011-03-31T19:32:34.670 に答える
4

この構文は適切に機能します (このスクリプトは、Firefox や Chrome などではコメント化されません)。

<!--[if !IE]><!-->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<!--<![endif]-->
于 2013-04-29T07:31:52.093 に答える
4
<![if !IE]>
    <script type="text/javascript" src="somescript.js"></script>
<![endif]>
于 2011-03-31T19:36:13.590 に答える
1

ブラウザのサーバー側を検出してから、適切なスクリプト インクルードをエコーすることができます。

次に、PHP での単純なブラウザー検出の例を示します。

http://www.php-scripts.com/20050912/12/

于 2011-03-31T19:35:28.143 に答える
0

ここや他の場所で示されている例を使用しましたが、このコード例がめちゃくちゃになっている場所がいくつあるかを見るのは本当にイライラします。答えは簡単です。IE には [if IE] のような特別な「条件」がありますが、他のブラウザでは「条件」を操作するためにコメントが必要です。

たとえば、JQuery 2 は IE8 では動作しないため、次のようにすることができます。

<!--[if IE ]>  (following is only visible to IE)
    <script src="./js/lib/jquery-1.6.1.min.js"></script>
<![endif]-->
<!--[if !IE]>-->  (extra comment - only visible to non-IE)
    <script src="./js/lib/jquery-2.1.1.min.js"></script>
    <script src="./js/lib/jquery.mobile-1.4.5.min.js"></script>
<!--<![endif]-->

Firefox、Chrome、IE8、Dolphin モバイル、Chrome モバイルで上記の動作を確認しました。バージョンも指定できます。たとえば、IE 9 未満は次のようになります。<!--[if lt IE 9 ]>

詳細な説明については、http://www.sitepoint.com/web-foundations/internet-explorer-conditional-comments/ をご覧ください。

于 2015-06-22T00:41:34.480 に答える