admin管理员组文章数量:1244247
I have a JS script that works fine in all browsers. But for everybody's surprise, in I.E. it does not work at the first try.
If, after I load my page, I press F12 (open the i.e. debugger) and refresh my page, it works fine! Just like the others browsers! But for this work, i have to press F12.
Does i.e.'s debugger do something when we open it? I cant find a solution!
Thanks in advance.
I have a JS script that works fine in all browsers. But for everybody's surprise, in I.E. it does not work at the first try.
If, after I load my page, I press F12 (open the i.e. debugger) and refresh my page, it works fine! Just like the others browsers! But for this work, i have to press F12.
Does i.e.'s debugger do something when we open it? I cant find a solution!
Thanks in advance.
Share Improve this question asked Jul 5, 2012 at 14:10 Fernando FerrariFernando Ferrari 5866 silver badges21 bronze badges 1- 1 possible duplicate of 'console' is undefined error for internet explorer, Does IE9 support console.log, and is it a real function? – kapa Commented Jul 5, 2012 at 14:15
3 Answers
Reset to default 12When you don't have the debugger open, IE considers there to be no such thing as console.log, and gives you errors for calling an undefined function. When you hit F12, then you get the console, and so console.log is no longer undefined.
You can workaround by putting this at the top of your code:
if (!window.console) window.console = {};
if (!window.console.log) window.console.log = function () { };
Rather than editing out console.log from your code, this will merely make the browser do nothing if the console doesn't exist, by defining them as a 'do nothing' function if they are undefined.
If you're looking to shrink down your js file size (particularly important for mobile usage), you will eventually want to remove verbose logging on your release version.
Do you have something like console.log()
in your script? This might explain, since there is no console until you press F12
Extended version from previous post
if (!('console' in window)) {
var stub = function() { ; };
window.console = {
log : stub,
info : stub,
warn : stub,
error : stub,
assert : stub
};
}
I'm posting this new one that install stub only if needed
/**
* On IE console is not set if not opened and debug doesn't exists
*/
(function() {
if (!('console' in window)) { window.console = {}; }
var kind = ['log', 'info', 'warn', 'error', 'assert', 'debug'];
var stub = function() { ; };
for (var i = 0; i < kind.length; i++) {
if (kind[i] in window.console) { continue; }
window.console[kind[i]] = stub;
}
})();
本文标签:
版权声明:本文标题:javascript - I.E. craches my JS script at first, then i press F12 and it works beaultifully - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1740215781a2242835.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论