ブラウザで非常に重い画像カルーセルスクリプトを使用しています。 OperaおよびChrome、FFで半分まともであり、IEで私のボールを完全に破壊します。したがって、IEユーザーにアクション/ JSのない単純なHTML。
スクリプトはMTまたはjQueryおよびそのような380行のJSを使用しません。IEユーザーに単純なHTML代替を提供することは可能でしょうか?
var browserName=navigator.appName; if (browserName=="Microsoft Internet Explorer") { // what command can i use? }
この記事は非常に説明的です http://msdn.Microsoft.com/en-us/library/ms537509%28v=vs.85%29.aspx 。
JSが目立たない場合は、次を使用できます。
<![if !IE]>
<script src...
<![endif]>
IE固有のjavascriptを含めるには、次のようなことを実行できます。
<!--[IF IE]>
<script type="text/javascript">
// IE stuff
</script>
<![endif]-->
IE10 +の場合、標準状態はエンジンの変更やその他の理由で機能しません。原因は、MSIEであるということです。しかし、IE10 +の場合は、スクリプトでこのようなsmthを実行する必要があります
if (!!navigator.userAgent.match(/Trident\/7\./)){
//do stuff for IE.
}
デフォルトのtrueでブール値を定義してから、 IE条件付きコメント 内で値をfalseに設定し、この値を使用して高度なコードを実行するかどうかを決定します。何かのようなもの:
<script type="text/javascript">var runFancy = true;</script>
<!--[if IE]>
<script type="text/javascript">
runFancy = false;
//any other IE specific stuff here
</script>
<![endif]-->
<script type="text/javascript">
if (runFancy) {
//do your code that works with sane browsers
}
</script>
var browserName = navigator.appName; if(browserName == "Microsoft Internet Explorer"){document.write( "IEのHTML")}
ここに私が使用したスクリプトがあり、それは魅力のように機能します。 IE特定のスクリプトがIEに何かを追加しますが、元のコードは削除しません。
<script>runFancy = true;</script>
<!--[if IE]>
<script type="text/javascript">
runFancy = false;
</script> // <div>The HTML version for IE went here</div>
<![endif]-->
// Below is the script used for all other browsers:
<script src="accmenu/acac1.js" charset="utf-8" type="text/javascript"></script><script>ac1init_doc('',0)</script>
これを試してください:systemLanguageとuserLanguageは、すべてのブラウザーで未定義です。
if(navigator.userLanguage !== "undefined" && navigator.systemLanguage !== "undefined" && navigator.userAgent.match(/trident/i)) {
alert("hello Explorer i catch U :D")
}
すべてのブラウザーでテストします。
<![if !IE]><script type="text/javascript">BROWSERIE = false;</script><![endif]>
<!--[if IE]><script type="text/javascript">BROWSERIE = true;</script><![endif]-->
最初の条件付きコメントは適切なブラウザーで機能し、2番目のコメントはIEで機能します。それはグローバル変数です。次に、任意の部分、またはページに含まれるJSからアクセスして、次のようにテストします。
console.log('isIE = ' + BROWSERIE);
console.log(typeof BROWSERIE);
if(BROWSERIE) $('.modal').removeClass('fade'); // for example, if `fade` causes an error in IE.
スクリプトを実行しているブラウザの純粋なjsで決定することもできることに注意してください:window.navigator.userAgent
ただし、ブラウザの設定で構成できるため、推奨される方法ではありません。そこに利用可能な詳細情報: https://developer.mozilla.org/fr/docs/DOM/window.navigator.userAgent