小编典典

为什么JavaScript仅在IE中打开开发人员工具一次后才能工作?

javascript

IE9错误-JavaScript仅在打开开发人员工具一次后才能工作。

我们的网站为用户提供免费的pdf下载,并且具有简单的“输入密码下载”功能。但是,它根本无法在Internet Explorer中使用。

下载通行证为“ makeuseof”。在任何其他浏览器中,它都可以正常工作。在IE中,两个按钮都不起作用。

我发现的最奇怪的事情是,如果使用F12打开和关闭开发人员工具栏,则所有这些突然开始工作。

我们已经尝试了兼容模式,因此没有任何区别。

如何在Internet Explorer中进行这项工作?


阅读 293

收藏
2020-04-25

共1个答案

小编典典

听起来您的javascript中可能有一些调试代码。

您所描述的经验是包含console.log()或任何其他console功能的典型代码。

console仅在打开“开发工具栏”时激活该对象。在此之前,调用控制台对象将导致其报告为undefined。打开工具栏后,控制台将存在(即使随后关闭了工具栏),因此您的控制台调用也将起作用。

有一些解决方案:

最明显的方法是检查代码中对的引用console。无论如何,您都不应该在生产代码中留下类似的内容。

如果要保留控制台引用,则可以将它们包装在一条if()语句中,也可以将其包装在其他条件中,以在尝试调用控制台对象之前检查控制台对象是否存在。

2020-04-25