解决IE浏览器不支持console,报错未定义问题

问题产生:

  前端开发调试经常用到console.info进行打印信息,前几天调试的时候Google功能完全OK,但是IE8浏览器点设置按钮完全没反应,看了修改的代码貌似没看出什么存在浏览器兼容性问题的呀,无意间点设置时发现浏览器底部闪了一下“网页存在错误”的提示,闪过后就是完成的标志,点进去弹出错误框,直接看图:


  网页提示console未定义,一脸懵逼,这个都可以出错,百度了一下发现低版本IE6/7/8/9浏览器是没有定义console对象的,所以代码会中断执行。

解决方法:

  第一个思路就是创建一个console对象,实际就是console.info方法,为了能够使用console的log、warn等方法还是最好写个适用性强的好了,代码如下:

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;
})();

 当然,在解决问题过程中,我又发现如果打开浏览器的开发人员工具(F12)再刷新页面的话,页面又OK了,在控制台使用console.info又是可以打印信息的,这说明在将开发人员工具打开后,浏览器自动创建了console这个对象。这就给我们提供了第二条思路,就是在页面初始化的时候用js代码打开开发人员工具,然后关上,最后再刷新页面,问题应该也可以解决。但这个方法太绕所以就没试,有兴趣的可以尝试一下。

第二个思路就是简单暴力的注释该代码,但是为了方便调试,还是建议采用第一种方法。

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值