我创建了一个网站,每个页面在每个浏览器都正常工作,但IE中只有一个页面(表单页面)加载太多时间,我得到的错误是IE运行的是一个很长的脚本而不是响应。
我找到了一个解决方案,在工具部分的IE下,我必须禁用脚本选项,它也可以工作但不能告诉每个用户都遵循这个解决方案,所以我想知道是否有任何脚本或代码,借助我可以禁用脚本仅适用于IE中的这个FORM PAGE,仅适用于每个用户(我为此表单创建了一个单独的模板)
提前致谢.......
答案 0 :(得分:0)
如何关注..
<script>
if( /* Browser checks */ )
document.write( '<script src="scripts.js"></script>' );
</script>
如果您的所有脚本都在一个地方,或者至少没有嵌入到整个页面中,那么在检查浏览器后,您应该将它们包含在JavaScript中:
这是一个场景,说明了为什么将代码http://en.wikipedia.org/wiki/Don%27t_repeat_yourself和所有内容保存在一个地方非常重要。
要检测浏览器,请查看http://www.quirksmode.org/js/detect.html,但请注意其对象检测页面的链接,如果这对您的用例更有用。 http://yepnopejs.com/对后者很有用,后者是Modernizr的一部分。
致谢:Disabling JS from within Website for specific browsers
希望它有所帮助。
答案 1 :(得分:0)
使用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建议并调试代码,而不是尝试禁用第三方脚本。
答案 2 :(得分:0)