1

js ファイルがあり、ブラウザーが IE 8 の場合にのみコードを実行したいと考えています。これを行う方法はありますか?

現在、私はこれしか持っていませんが、すべてのブラウザ用です:

if ($.browser.msie) {
    //do stuff for IE 8
} 
4

9 に答える 9

9

JavaScript でのブラウザ検出を参照してください。 およびhttp://modernizr.com

短い(最も?)答えは次のとおりです。

if (navigator.userAgent.match(/MSIE 8/) !== null) {
  // do something in IE8
}
于 2013-08-05T21:33:11.333 に答える
7

ブラウザー固有のコードは、ほとんど良い考えではありません。ただし、これを行う必要がある場合は、コードを条件付きコメント内に入れることができます。

http://www.positioniseeverything.net/articles/cc-plus.html

<!--[if IE 8]>
  <script type="text/javascript">
    // this is only executed for IE 8
  </script>
<![endif]-->
于 2013-08-05T21:32:48.337 に答える
2

わかりました、私は次のように自分で解決しました:

if ($.browser.msie && $.browser.version == 8) {
    //my stuff

} 
于 2013-08-05T21:41:23.293 に答える
1

ページが IE9 未満の場合、ページをリダイレクトするためにヘッダーで呼び出しを行うことができますか? 私は、IE6 と 10 を混在させて使用しているクライアントに対して、これを頻繁に行っています。

私が呼び出す文書の頭の中で、

<!--[if IE 7]>  <link rel="()" type="()" href="(Your link here.)"><![endif]--> 

調べることができる他のオプションは、シムまたはポリフィルです。インターネット上には、最新の Web デザインと古いブラウザーの間のギャップを埋めるのに役立つものがたくさんあります。例はModernizrです。

于 2013-08-05T21:35:35.897 に答える
1

次のようなことができます。

if (navigator.userAgent.indexOf('MSIE 8.0') !== -1) {
  // this clause will only execute on IE8
}
于 2013-08-05T22:17:03.223 に答える
1

条件付きコメントでそれを行うことができます(https://stackoverflow.com/a/10965091/1878731による):

<!--[if IE 8 ]>    <html class="ie8"> <![endif]-->

if ($('html').is('.ie8')) {
    ...
}

または、html をいじらずに ( http://en.wikipedia.org/wiki/Conditional_commentで):

<script>
/*@cc_on

  @if (@_jscript_version == 5.8) { // IE8 detected
    // do something
  }
@*/
</script>
于 2013-08-05T21:37:49.797 に答える
1

$.browser は廃止されたため、新しい jQuery バージョンではこのオブジェクト プロパティを使用できません。これをサポートするには、jQuery 移行プラグインを使用する必要があります。リンクは次のとおりです。 https://github.com/jquery/jquery-migrate/#readme

于 2015-12-10T06:45:52.317 に答える