IE11 javascript失败,除非启动调试器

时间:2017-05-18 00:44:40

标签: javascript jquery internet-explorer

我认为某些javascript网页在Safari和Chrome中运行正常但在IE11中失败了。不幸的是由于机密性问题,我无法将javascript放在这里。

在IE11中,网页的java脚本无法正常运行。我的意思是一些javascript工作,一些不工作。没有显示错误或任何其他错误的指示。

如果我尝试使用IE的开发人员工具调试页面,那么所有的javascript都可以正常运行而不会出现任何错误或问题。

在网上搜索我发现许多人有相同的IE问题 - 正常失败,在调试时有效。他们谈论的主要问题是console.log(...)声明。我检查了我的javascript并且没有任何console.log(...)语句。

然后我看到了一个stackoverflow线程,其中向cache:false调用添加$.ajax({...解决了这个问题。我添加了相同的标志,但问题仍然存在。

我还没有发现任何其他错误吗?

该网页使用jQuery通过单个$.ajax...调用和一系列$.get(...调用服务器来处理DOM的大部分操作。

1 个答案:

答案 0 :(得分:1)

如何调试您的网页..... IE11提示。

默认情况下,所有现代Web浏览器都会禁止脚本错误消息和警告。 (在早期,Web浏览器将暂停页面加载/呈现并显示带有警告语句的脚本错误消息)...这样可以提供最佳用户体验,而不关心网站代码的内部工作。

因此,脚本错误只会在以下情况下执行BREAK: 1.浏览器调试工具已打开。和 2.已打开开发人员工具“Break on Exceptions”的“调试”选项卡设置。

所以要调试你的网页。 1.导航到about:blank开始测试周期.....按f11显示开发工具,从下拉列表中选择“Break on all exceptions”(看起来像一个停止标志)。将开发工具固定到浏览器的底部。 2.返回浏览器地址栏并导航到您的测试站点(粘贴的类型地址并继续)...

开发工具现在将在所有异常中中断,您将在控制台选项卡中列出它们。

IE内置了内容阻止功能,并且具有可以影响结果的ActiveX过滤(广告拦截)。您需要配置Internet选项,以便IE开发工具控制台记录任何阻止的内容或安全性(XSS)错误。

工具>互联网选项>高级标签,选中“始终记录开发者控制台消息”。

同样在IE开发工具的Emulation选项卡上,您将找到IE正在使用的仿真模式(aka documentMode),以及它是如何建立的。 x-ua meta,企业站点模式列表,用户兼容性视图列表等

如果您正在开发内部公司网站,IE使用的仿真模式可能适用于早期版本的IE ..(XP上的IE8)..您应该在问题中包含此信息。

您还应该包含您的网站已映射到的IE安全区域。文件> IE中的属性菜单....例如。 Intranet区域可能具有不同的安全性和阻止的内容结果。

最后,解决Web浏览器问题的第一步是在noAddons模式下进行测试(对于IE,winkey + r> iexplore.exe -extoff)。 IE内置了表单填充程序和弹出窗口阻止程序......第三方插件可能会影响预期的结果。