28

我正在使用在浏览器上相当重的图像轮播脚本。它在 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? }

4

10 回答 10

21

这篇文章解释得很清楚:http: //msdn.microsoft.com/en-us/library/ms537509%28v=vs.85%29.aspx

如果你的 JS 不显眼,你可以使用:

<![if !IE]>
   <script src...
<![endif]>
于 2010-12-10T17:29:30.273 回答
20

您可以执行以下操作来包含特定于 IE 的 javascript:

<!--[IF IE]>
    <script type="text/javascript">
        // IE stuff
    </script>
<![endif]-->
于 2010-12-10T17:30:02.270 回答
15

对于 IE10+ 标准条件由于引擎更换或其他一些原因不起作用,原因,你知道,它是 MSIE。但是对于 IE10+,你需要在你的脚本中运行这样的东西:

if (navigator.userAgent.match(/Trident\/7\./)) {
  // do stuff for IE.
}
于 2014-08-25T12:05:01.807 回答
11

您定义一个默认为 true 的布尔值,然后在IE 条件注释中,将该值设置为 false,并使用 this 的值来确定您的高级代码是否应该运行。就像是:

<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>
于 2010-12-10T17:33:23.823 回答
4

var browserName=navigator.appName; if (browserName=="Microsoft Internet Explorer") { document.write("Your html for IE") }

于 2013-07-09T15:11:01.100 回答
1

这是我使用的脚本,它就像一个魅力。我使用了 Ender 建议的布尔方法,因为其他仅使用 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> 
于 2010-12-11T02:56:32.187 回答
1

试试这个:systemLanguage 和 userLanguage 在所有浏览器中都是未定义的。

if(navigator.userLanguage !== "undefined" && navigator.systemLanguage !== "undefined" && navigator.userAgent.match(/trident/i)) {
    alert("hello explorer i catch U :D")
  }
于 2017-07-26T17:32:23.390 回答
0

请注意,您还可以在纯 js 中确定脚本正在通过哪个浏览器执行:window.navigator.userAgent

但是,这不是推荐的方式,因为它可以在浏览器设置中进行配置。那里提供更多信息:https ://developer.mozilla.org/fr/docs/DOM/window.navigator.userAgent

于 2013-01-11T15:06:51.063 回答
-1

请参阅 Microsoft 开发人员档案中的此脚本:https ://msdn.microsoft.com/en-us/library/ms537509%28v=vs.85%29.aspx

我在很多项目中都使用过这个脚本,从来没有遇到过任何问题。

于 2015-03-30T21:40:42.930 回答
-3

这段代码在我的网站上运行良好,因为它检测它是否是 ie 并激活 javascript,如果它在下面,你可以在 ie 或其他浏览器上实时查看它只是 if ie javascript 的演示

<script type="text/javascript">
<!--[if IE]>
window.location.href = "http://yoursite.com/";
<![endif]-->
</script>
于 2012-08-21T10:21:52.737 回答