IE9 Bug - JavaScript只能在打开一次开发工具后才能工作。
我们的网站为用户提供免费的pdf下载,它有一个简单的“输入密码下载”功能。但是,它在ie浏览器中完全不起作用。
你可以在这个例子中看到。
下载通道是“makeuseof”。在任何其他浏览器中,它都可以正常工作。在IE中,两个按钮什么都不做。
我发现最奇怪的事情是,如果你用F12打开和关闭开发人员工具栏,它就会突然开始工作。
我们已经尝试了兼容模式等,没有什么不同。
我如何使这工作在Internet Explorer?
听起来好像你的javascript中有一些调试代码。
您描述的体验是包含console.log()或任何其他控制台功能的典型代码。
控制台对象只有在打开开发工具栏时才被激活。在此之前,调用控制台对象将导致它被报告为未定义。在工具栏被打开之后,控制台将会存在(即使工具栏随后被关闭),因此您的控制台调用将会工作。
这里有一些解决方案:
最明显的方法是在代码中删除对控制台的引用。无论如何,您都不应该在产品代码中留下这样的东西。
如果您希望保留控制台引用,可以将它们包装在If()语句中,或者在尝试调用控制台对象之前检查它是否存在的其他条件中。