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