您的位置:首页 > Web前端 > JavaScript

Why Javascript only works after opening developer tools in IE once?

2015-11-17 18:22 471 查看
IE9 Bug - Javascript only works after opening developer tools once.

Our site offers free pdf downloads to users, and it has a simple "enter password to download" function. However, it doesn't work at all in Internet Explorer.

You can see for yourself at this example: http://www.makeuseof.com/pages/how-to-use-virtual-box

The download pass is "makeuseof". In any other browser, it works fine. In IE, the buttons both just do nothing.

The most curious thing I've found is that if you open and close the developers toolbar with F12, it all suddenly starts to work.

We've tried compatibility mode and such, nothing makes a difference. Please, help me figure this out!

How do I make this work in Internet Explorer?

ask:

It sounds like you might have some debugging code in your javascript.

The experience you're describing is typical of code which contain
console.log()
or any of the other
console
functionality.

The
console
object is only activated when the Dev Toolbar is opened. Prior to that, calling the console object will result in it being reported as
undefined
. After the toolbar has been opened, the console will exist (even if the toolbar is subsequently closed), so your console calls will then work.

There are a few solutions to this:

The most obvious one is to go through your code removing references to
console
. You shouldn't be leaving stuff like that in production code anyway.

If you want to keep the console references, you could wrap them in an
if()
statement, or some other conditional which checks whether the console object exists before trying to call it.

Link:

http://stackoverflow.com/questions/7742781/why-javascript-only-works-after-opening-developer-tools-in-ie-once
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: