使用 IE 条件注释:
<![if !IE]>
<script>
// your non IE script here.
</script>
<![endif]>
有关详细信息,请参阅:http: //msdn.microsoft.com/en-us/library/ms537512 (v=vs.85).aspx
补充说明:
关于条件注释如何工作的注释。
条件注释是 IE 特有的功能,用于根据 IE 版本或浏览器是否为非 IE 来显示或隐藏部分内容(不一定是脚本)。例如:
<![if !IE]>
Hello non IE
<![endif]>
将在非 IE 浏览器上打印Hello non IE
,在 IE 上什么也没有。它只是一个 IF 语句。这不是擦除内容的神奇方法。例如:
Hello non IE
<![if !IE]>
Hello non IE
<![endif]>
将打印:
Hello non IE
在 IE 上和:
Hello non IE
Hello non IE
在非 IE 浏览器上。它不会删除以前的文本。它只是对 IE 隐藏其中的文本。
因此,要排除 IE 脚本形式,您需要执行以下操作:
<![if !IE]>
<script src="non_ie_compatible_script.js">
<![endif]>
不是这个:
<script src="non_ie_compatible_script.js">
<![if !IE]>
<script src="non_ie_compatible_script.js">
<![endif]>
如果您无权访问包含脚本的原始行,那么您无能为力。
如果您有权访问该脚本,则可以使用此页面上发布的其他解决方案。但是正如您在 OP 中提到的,您也无权访问脚本,因此这里的任何解决方案都不起作用。事实上,除非您可以访问服务器本身或位于服务器前面的某个代理(在这种情况下,您可以拦截整个页面并在将脚本包含标记传送到浏览器之前将其删除),否则无法解决您的问题问题。
实际上,您最好的选择可能不是编码解决方案,而是人工解决方案:与脚本的所有者/维护者或您网站的所有者/维护者交谈,并要求他们为您提供一种方法来关闭特定页面上的脚本.
或者按照@karthick 的建议来调试您的代码,而不是尝试禁用第三方脚本。