57  
查询码: 00000565
javascript IE浏览器下console未定义、console.log报错解决方案
来源:https://m.wang1314.com/doc/webapp/topic/20992546.html
作者: 周杨 于 2022年08月10日 发布在分类 / 计算机应用 / 编程 ,于 2022年08月10日 编辑
console

一、问题描述

当在IE浏览器8、9未打开浏览器的控制台时,使用


console.log('aa');


会出现console“未定义”的错误。

原因是:低版本IE6/7/8/9浏览器是没有定义console对象的,所以代码会中断执行而报错。


二、解决方案

方式一:输出前先判断有没有window.console对象,有则输出。


if(window.console){
 console.log("xxx");
}


或者这样写(网上找的,和上面的原理一样):


window.console && console.log('xxx');


方式二:在没有定义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浏览器控制台输出。其实可以结合方式一、方式二一起用,即先定义方法,后面调用再判断对象存在不存在,存在后再使用,但一般不需要这样,有点麻烦。



 关联文档

 关联资源



 历史版本

备注 修改日期 修改人
CREAT 2022-08-10 20:04:44[当前版本] 系统管理员

  目录
    知识分享平台 -V 5.1.4 -大信谛威