mat*_*att 0 javascript php internet-explorer internet-explorer-8
这可能听起来很奇怪但是当用户在IE 8上时,我想删除通常在所有其他浏览器中加载的JS文件,而不是添加额外的文件.
再说一遍.
我在我的身上有这个head:
<script type="text/javascript" async src="my-script.js"></script>
Run Code Online (Sandbox Code Playgroud)
我希望该脚本能够在除IE之外的所有浏览器中工作(因为它不起作用,所以我不想加载它).
我知道像这样的通常的条件标签
<!--[if lt IE 9]>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)
但我想没有办法以相反的方式使用它们,因此我想到的唯一解决方案是......
<?php if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') == FALSE) { ?>
<script type="text/javascript" async src="my-script.js"></script>
<?php } ?>
Run Code Online (Sandbox Code Playgroud)
这是最好的解决方案吗?此外,我实际上需要测试9以下的所有IE版本.所以我不希望在IE8,IE7和IE6中加载JS文件.
先感谢您.
Bar*_*art 10
除IE之外的所有
<!--[if !IE]> -->
<script type="text/javascript" async src="my-script.js"></script>
<!-- <![endif]-->
Run Code Online (Sandbox Code Playgroud)
只有IE 9及更高版本
<!--[if gt IE 8]>
<script type="text/javascript" async src="my-script.js"></script>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)
要么
<!--[if gte IE 9]>
<script type="text/javascript" async src="my-script.js"></script>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)
IE 9及更高版本+其他浏览器
从理论上讲,您可以使用OR运算符,但NOT IE注释样式不支持此运算符.
<!--[if !(IE)|(gte IE 9)]>
Test
<![endif]-->
Run Code Online (Sandbox Code Playgroud)
您也可以使用这样的嵌套注释:
<!--[if !IE]><![if gte IE 9]>-->
Test
<!--<![endif]><![endif]-->
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1832 次 |
| 最近记录: |