可以在带有条件注释的IE中加载仅脚本
<!--[if lte IE 7]>
<script type="text/javascript" src="somescript.js"></script>
<![endif]-->
但如果我不想在IE lte 7中加载它(但在所有其他浏览器中仍然需要它)会怎样?
任何简单的解决方案?
P.S。我有一个SyntaxHighlighter的问题 - 太多的代码减慢了IE7的速度,因为我的时间不够,我决定暂时把它关掉IE7。
答案 0 :(得分:18)
This post表示您可以使用!
[if !IE]
(NOT)运算符
答案 1 :(得分:5)
<![if !IE]>
<script type="text/javascript" src="somescript.js"></script>
<![endif]>
答案 2 :(得分:4)
<!--[if gte IE 7]>
<script type="text/javascript" src="somescript.js"></script>
<![endif]-->
<!--[if !IE]>
<script type="text/javascript" src="somescript.js"></script>
<![endif]-->
答案 3 :(得分:3)
这种语法很好用(脚本不会在firefox,chrome等中注释):
<!--[if !IE]><!-->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<!--<![endif]-->
答案 4 :(得分:1)
答案 5 :(得分:0)
我使用了这里和其他地方显示的示例,看到这个代码示例搞砸了多少个地方真的很令人沮丧。事实证明答案很简单,IE有特殊的条件限制&#39;喜欢[if IE],但其他浏览器需要评论才能使用&#39;条件&#39;。
例如,由于JQuery 2不能与IE8一起使用,你可以做这样的事情
<!--[if IE ]> (following is only visible to IE)
<script src="./js/lib/jquery-1.6.1.min.js"></script>
<![endif]-->
<!--[if !IE]>--> (extra comment - only visible to non-IE)
<script src="./js/lib/jquery-2.1.1.min.js"></script>
<script src="./js/lib/jquery.mobile-1.4.5.min.js"></script>
<!--<![endif]-->
我已经在Firefox,Chrome,IE8,Dolphin移动版和Chrome移动版中验证了上述功能。您也可以指定版本。例如,小于IE 9将是:<!--[if lt IE 9 ]>
有关详细说明,请查看http://www.sitepoint.com/web-foundations/internet-explorer-conditional-comments/
答案 6 :(得分:0)
由于条件语句在IE(10,11)中不起作用,并且Microsoft仅支持IE(11),并且如果有人仍在查看运行IE特定的JavaScript,则此代码仍可以在IE(11)中进行测试,并且非IE浏览器(Chrome,Firefox,Edge)。
<script type="text/javascript">
if(/MSIE \d|Trident.*rv:/.test(navigator.userAgent))
{document.write('<script src="../nolng/js/ex1IE.js"><\/script>');}
else
{document.write('<script src="../nolng/js/ex1.js"><\/script>'); // for Chrome,Firefox,Edge}
</script>