Javascript 如何不在IE中加载脚本?
只能在IE中加载带有条件注释的脚本Javascript 如何不在IE中加载脚本?,javascript,internet-explorer,conditional-comments,Javascript,Internet Explorer,Conditional Comments,只能在IE中加载带有条件注释的脚本 <!--[if lte IE 7]> <script type="text/javascript" src="somescript.js"></script> <![endif]--> 但是如果我不想在IE lte 7中加载它(但在所有其他浏览器中仍然需要它),该怎么办 有简单的解决方案吗 另外,我对SyntaxHighlighter有一个问题-太多的代码会减慢IE7的速度,由于时间不够,我决定暂时
<!--[if lte IE 7]>
<script type="text/javascript" src="somescript.js"></script>
<![endif]-->
但是如果我不想在IE lte 7中加载它(但在所有其他浏览器中仍然需要它),该怎么办
有简单的解决方案吗
另外,我对SyntaxHighlighter有一个问题-太多的代码会减慢IE7的速度,由于时间不够,我决定暂时在IE7中关闭它。说你可以使用代码>(非)类运算符[if!IE]
<!--[if gte IE 7]>
<script type="text/javascript" src="somescript.js"></script>
<![endif]-->
<!--[if !IE]>
<script type="text/javascript" src="somescript.js"></script>
<![endif]-->
您可以尝试检测浏览器服务器端,然后回显相应的脚本
以下是PHP中简单浏览器检测的示例:
此语法效果良好(在firefox、chrome等浏览器中不会对脚本进行注释):
我使用了这里和其他地方显示的示例,看到这个代码示例有多少地方乱七八糟,真是令人沮丧。事实证明答案很简单,IE有特殊的“条件”,比如[if IE],但其他浏览器需要注释才能使用“条件”
例如,由于jQuery2不能与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]-->
(额外注释-仅对非IE可见)
我已经在Firefox、Chrome、IE8、Dolphin mobile和Chrome mobile中验证了上述工作。您还可以指定版本。例如,少于IE 9的代码是:,因为条件语句在IE(10,11)中不起作用,而且只有IE(11)受Microsoft支持,如果有人仍在考虑运行IE特定的JavaScript,那么该代码仍然可以在IE(11)和非IE浏览器(Chrome、Firefox、Edge)中测试
if(/MSIE\d | Trident.*rv:/.test(navigator.userAgent))
{document.write(“”);}
其他的
{document.write(“”);//对于Chrome、Firefox、Edge}
您是在使用服务器端语言生成页面,还是直接使用HTML?这难道不是只适用于IE 7以上的版本吗?Firefox将把整个事情看作是一条评论。这是一个很好的观点,用一个低级的条件更新。我认为这不是有效的代码。条件注释不总是像常规注释()一样开始和结束吗?在本例中:这是一个,在所有浏览器中都有效。2014年的问候语!由于某种原因,[if!IE]
似乎不适合我。有人给我指路吗?
<!--[if !IE]><!-->
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<!--<![endif]-->
<!--[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]-->
<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>