因为公司常常要求支持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));
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。