这可能听起来很奇怪,但我不想在用户使用 IE 8 时添加其他文件,而是想删除通常在所有其他浏览器中加载的 JS 文件。
再说一遍。
我的脑子里有这个
:
<script type="text/javascript" async src="my-script.js"></script>
我希望该脚本能够在除 IE 之外的所有浏览器中运行(因为它不起作用,所以我不想加载它)。
我知道像这样的常见条件标签
<!--[if lt IE 9]>
<![endif]-->
但我想没有办法以相反的方式使用它们,所以我想到的唯一解决方案是......
<?php if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') == FALSE) { ?>
<script type="text/javascript" async src="my-script.js"></script>
<?php } ?>
这是执行此操作的最佳解决方案吗?而且我实际上需要测试 9 以下的所有 IE 版本。所以我不希望 JS 文件在 IE8、IE7 和 IE6 中加载。
提前谢谢您。
最佳答案
除 IE 之外的所有版本
<!--[if !IE]> -->
<script type="text/javascript" async src="my-script.js"></script>
<!-- <![endif]-->
仅限 IE 9 及更高版本
<!--[if gt IE 8]>
<script type="text/javascript" async src="my-script.js"></script>
<![endif]-->
或
<!--[if gte IE 9]>
<script type="text/javascript" async src="my-script.js"></script>
<![endif]-->
IE 9 及更高版本 + 其他浏览器
理论上,您可以使用 OR 运算符,但 NOT IE 注释样式不支持此操作。
<!--[if !(IE)|(gte IE 9)]>
Test
<![endif]-->
您还可以像这样使用嵌套注释:
<!--[if !IE]><![if gte IE 9]>-->
Test
<!--<![endif]><![endif]-->
关于php - IE 的条件标签 - 如果浏览器是 IE,是否可以不加载 JS 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12673404/