【问题标题】:If IE, run this script, else, run this script如果是 IE,运行这个脚本,否则,运行这个脚本
【发布时间】:2016-02-15 08:24:52
【问题描述】:

我试图在 IE 上加载一个脚本,并为每个其他浏览器加载另一个脚本。到目前为止,这是我尝试过的:

<!--[if IE]>
<script type="text/javascript" src="../JS/Navigation-Toggle-IE.js"></script>
<![endif]-->

<!--[if !IE]> -->
<script type="text/javascript" src="../JS/Navigation-Toggle.js"></script>
<!-- <![endif]-->

这句话只会让我的页面在 Safari、Chrome、Firefox 和 Opera 上变形。有没有人有任何见解或资源?

【问题讨论】:

  • 谢谢!立即查看
  • 条件注释已从 Internet Explorer 10 中删除。鼓励您在最新版本的 Internet Explorer 和 Microsoft Edge 中利用现代标准。如果您发现浏览器的任何缺点,我很乐意作为 Microsoft Edge 团队成员提供帮助。

标签: javascript internet-explorer browser cross-browser


【解决方案1】:

不要关闭ie上的条件注释,否则其他浏览器可以读取。另请记住,这只适用于 ie9 及以下版本。

<!--[if IE]
<script type="text/javascript" src="../JS/Navigation-Toggle-IE.js"></script>
[endif]-->

<!--[if !IE]>
<script type="text/javascript" src="../JS/Navigation-Toggle.js"></script>
<![endif]-->

【讨论】:

  • 呃-哦...我的目标是让它在更新版本的 IE 上工作。我正在尝试让 IE 读取更多脚本(标记为 -IE),并让所有其他浏览器读取该脚本的不同版本。
  • 请问这是什么原因? IE 10+ 被视为一流,通常不需要在较旧的浏览器中进行变通。这就是微软删除它的原因。 (请记住,在 Intranet 站点上,IE 通过使用 来选择退出怪癖模式,很多时候开发人员都在追查 IE 错误,这些错误是结果)。
  • 我的问题是我的网站部分没有显示在 IE 11 上(有关更多信息,请参阅此链接:stackoverflow.com/questions/33675219/ie-11-addclass-removeclass)。似乎有一段代码导致了这种情况 - 它可能与我网站中的其他内容冲突。元标记是否在我的脑海中并没有什么不同(我已经测试过了)。我认为对我来说最好的解决方案是简单地不在 Internet Explorer 上添加那段代码,而是让它对所有其他浏览器都有效。它不会在 Internet Explorer 上具有相同的功能,但至少用户可以看到它。
  • 我阅读了另一个链接并现在理解了这个问题。很难可靠地检测到 IE11。我们曾经能够检查 document.all 是否存在而 document.opera 不存在,因为它们是唯一支持它的浏览器。虽然它在 11 中被删除。用户代理的检测始终是不可以的。最好的办法是找到问题并解决它。如果您愿意,我愿意通过 skype 电话 (@victoriafrench) 或 Google Hangouts (victoria dot french at cinecove dot com) 帮助您调试它。可能不会花很长时间才能找到它,并且它可以将这个版块从版主锁定的状态中解放出来。
  • 听起来棒极了!太感谢了!我已通过 Skype 向您发送了一条消息,期待与您交谈。
【解决方案2】:

我不喜欢 JavaScript 对象的条件 cmets,检查浏览器功能通常更可靠。

我的意思是不是制作 2 个脚本,而是制作一个并根据检测到的浏览器更改功能。 示例:

var ie = 'ActiveXObject' in window;
var ielt9 = ie && !document.addEventListener; // ie8 and bellow

if (ie) {
 // do ie stuff
} else {
 // do other stuff
}

【讨论】:

    猜你喜欢
    • 2021-09-15
    • 1970-01-01
    • 1970-01-01
    • 2014-10-08
    • 2018-01-23
    • 2015-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多