如果不是IE8或以前而不是移动设备,需要条件语句才能加载脚本

Nic*_*ick 1 jquery internet-explorer conditional

我有一个链接到我的页面的头部部分的传统格式的脚本,即

<script src="scripts/scriptname.js" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

我想阻止在IE8及更早版本以及iPhone/iPad和移动设备上加载此脚本.

我有这个声明,以防止它在IE8中运行,但我不知道如何调整它以包括早期版本的IE,我也不确定移动设备:

<!--[if !IE 8]><!-->
    <script src="scripts/scriptname.js" type="text/javascript"></script>
<!--<![endif]-->
Run Code Online (Sandbox Code Playgroud)

有人可以帮忙吗?

谢谢,

缺口

Ale*_*lex 5

<!--[if lt IE 9]>
     <script src="scripts/scriptname.js" type="text/javascript"></script>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)

这将包括Internet Explorer 8及更低版本的块(lt =小于).

但是 - 如果你必须仅为移动设备调整脚本,我认为javascript解决方案是最好的.通过浏览器和设备的导航器对象检查用户代理,如下所示:

if( (navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || ... )
Run Code Online (Sandbox Code Playgroud)

包括所有移动设备可能太多了.按屏幕大小切换是一个很好的方法:

if ( screen.width <= 699 ) {
     // your script
}
Run Code Online (Sandbox Code Playgroud)

使用浏览器检测来查找MSIE而不是9.0:

if ( screen.width <= 699 || navigator.userAgent.match(/MSIE\s(?!9.0)/) ) {
     // your script
}
Run Code Online (Sandbox Code Playgroud)