IE9错误-JavaScript仅在打开开发人员工具一次后才能工作。
我们的网站为用户提供免费的pdf下载,并且具有简单的“输入密码下载”功能。但是,它根本无法在Internet Explorer中使用。
下载通行证为“ makeuseof”。在任何其他浏览器中,它都可以正常工作。在IE中,两个按钮都不起作用。
我发现的最奇怪的事情是,如果使用F12打开和关闭开发人员工具栏,则所有这些突然开始工作。
我们已经尝试了兼容模式,因此没有任何区别。
如何在Internet Explorer中进行这项工作?
听起来您的javascript中可能有一些调试代码。
您所描述的经验是包含console.log()或任何其他console功能的典型代码。
console.log()
console
console仅在打开“开发工具栏”时激活该对象。在此之前,调用控制台对象将导致其报告为undefined。打开工具栏后,控制台将存在(即使随后关闭了工具栏),因此您的控制台调用也将起作用。
undefined
有一些解决方案:
最明显的方法是检查代码中对的引用console。无论如何,您都不应该在生产代码中留下类似的内容。
如果要保留控制台引用,则可以将它们包装在一条if()语句中,也可以将其包装在其他条件中,以在尝试调用控制台对象之前检查控制台对象是否存在。
if()