javascript IE浏览器下console未定义、console.log报错解决方案
javascript IE浏览器下console未定义、console.log报错解决方案
================================
©Copyright 蕃薯耀 2019年5月5日
一、问题描述:
当在IE浏览器8、9未打开浏览器的控制台时,使用
console.log('aa');
会出现console“未定义”的错误。
原因是:低版本IE6/7/8/9浏览器是没有定义console对象的,所以代码会中断执行而报错。
二、解决方案
1、方式一:输出前先判断有没有window.console对象,有则输出。
if(window.console){ console.log("xxx"); }
或者这样写(网上找的,和上面的原理一样):
window.console && console.log('xxx');
2、方式二:在没有定义window.console对象时,定义一个对象返回,避免console对象未定义
window.console = window.console || (function(){ var c = {}; c.log = c.warn = c.debug = c.info = c.error = c.time = c.dir = c.profile = c.clear = c.exception = c.trace = c.assert = function(){}; return c; })();
在console.log调用前定义上面的方法。
使用方式二比较好,方便以后调试和IE浏览器控制台输出。其实可以结合方式一、方式二一起用,即先定义方法,后面调用再判断对象存在不存在,存在后再使用,但一般不需要这样,有点麻烦。
================================
©Copyright 蕃薯耀 2019年5月5日
相关推荐
simonzhao0 2020-07-05
snowfoxmonitor 2020-06-21
lengyu0 2020-06-01
84549234 2020-05-12
程序员俱乐部 2020-05-09
curiousL 2020-02-02
baynkbtg 2020-01-14
yanglinjingshu 2015-05-02
程序员俱乐部 2019-12-18
zebperfect 2013-09-05
Awara 2016-04-30
zhanghaibing00 2018-01-13
zyhui 2018-01-13
eboyhaining 2019-06-04
zhangpuego 2018-04-12
cooldgjk 2017-09-26
85266438 2017-09-03
回忆的夏天 2013-06-28
hce0 2017-05-05