解决低版本IE下,console报错未定义
因为公司常常要求支持IE浏览器,测试人员会使用低版本的IE进行操作。
如果js代码中含有console.log进行调试,在低版本IE下会报错
错误如下

原因
低版本IE6/7/8/9浏览器是没有定义console对象的,所以代码会中断执行。
解决方法
添加如下代码定义console
;(function(g) {
'use strict';
var _console = g.console || {};
var methods = ['assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'exception', 'error', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log', 'profile', 'profileEnd', 'table', 'time', 'timeEnd', 'timeStamp', 'trace', 'warn'];
var console = {version: '0.2.0'};
var key;
for(var i = 0, len = methods.length; i < len; i++) {
key = methods[i];
console[key] = function (key) {
return function () {
if (typeof _console[key] === 'undefined') {
return 0;
}
// 添加容错处理
try {
Function.prototype.apply.call(_console[key], _console, arguments);
} catch (exp) {
}
};
}(key);
}
g.console = console;
}(window));本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!