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

IE9错误-JavaScript只在打开开发人员工具一次后才起作用

我们的网站为用户提供免费的pdf下载,并且有一个简单的“输入下载密码”功能。但是,它在InternetExplorer中根本不起作用

在本例中,您可以自己看到

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

我发现最奇怪的是,如果你用F12打开和关闭开发者工具栏,它就会突然开始工作

我们已经尝试过兼容模式,没有什么不同

如何在Internet Explorer中实现此功能

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

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

控制台对象仅在打开开发工具工具栏时激活。在此之前,调用console对象将导致将其报告为未定义。打开工具栏后,控制台将存在(即使工具栏随后关闭),因此控制台调用将工作

有几种解决方案:

最明显的一个方法是遍历代码,删除对控制台的引用。无论如何,你不应该在生产代码中留下这样的东西

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

发表评论