如果浏览器是Internet Explorer:请改为运行替代脚本

dim*_*my4 26 javascript browser-detection

我正在使用一个在浏览器上相当沉重的图像轮播脚本.它在Opera和Chrome中效果很好,在FF中有一半不错,在IE中绝对打破我的球.所以我想给IE用户一个简单HTML的替代品,而不需要任何动作/ JS.

该脚本不使用MT或jQuery,而是使用380行JS.是否可以为IE用户提供纯HTML替代方案?

var browserName=navigator.appName; if (browserName=="Microsoft Internet Explorer") { // what command can i use? }

Fla*_*ack 22

这篇文章非常简洁:http://msdn.microsoft.com/en-us/library/ms537509%28v=vs.85%29.aspx.

如果您的JS不引人注目,您可以使用:

<![if !IE]>
   <script src...
<![endif]>
Run Code Online (Sandbox Code Playgroud)

  • 我发现使用培根保存的`<! - [if lt IE 8]>`.谢谢! (2认同)
  • 自IE10以来,条件评论已被弃用.请参阅http://blogs.msdn.com/b/ie/archive/2011/07/06/html5-parsing-in-ie10.aspx?Redirected=true (2认同)

Set*_*eth 20

你可以做这样的事情来包含IE特定的javascript:

<!--[IF IE]>
    <script type="text/javascript">
        // IE stuff
    </script>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)


End*_*der 12

您定义一个默认值为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>
Run Code Online (Sandbox Code Playgroud)


小智 12

对于IE10 +标准条件不起作用导致发动机更换或其他原因,原因,你知道,它是MSIE.但对于IE10 +,您需要在脚本中运行这样的smth

if (navigator.userAgent.match(/Trident\/7\./)) {
  // Do stuff for IE.
}
Run Code Online (Sandbox Code Playgroud)