IE8使用console会导致页面阻塞
前言
在JS
里经常会使用console.log()
来调试程序(这是不对的), 结果在IE8
里面发现AJAX
执行不了, 一开始以为是IE8
不支持JSONP
, 后来才知道原来是console
的锅。
原因
console
对象调用log()
方法打印日志, 这个操作在IE8
的正式环境是行不通的。
因为在IE8
中, console
对象只有在Dev Toolbar
开发者工具打开的时候才会创建, 如果在正式环境下, console
对象没有创建, 而JS
代码去调用了console.log()
就会抛出找不到console
对象的错误, 导致后续的代码无法执行。
解决方案
最好的解决方案就是不使用console.log()
调试, 使用浏览器Dev Toolbar
开发者工具提供的断点进行debug
。
但是
代码开发人员的素质水平参差不齐, 所以还是要兼容console
。
1 | // 避免出现console错误 |