當你開發控制台時不報錯,關閉控制台運作代碼時報錯。window.console()在ie8中必須打開控制台才能實作,關閉控制台時會報錯,在ie9才開始修複該問題。解決這個相容性問題,有兩種方案:
- 去除頁面中的console.log()方法 (我是用這種方法處理的,頁面中殘留的console.log()不多)
- 重寫window.console()方法;
(function () { var funcs = ['assert', 'clear', 'count', 'debug', 'dir', 'dirxml', 'error', 'exception', 'group', 'groupCollapsed', 'groupEnd', 'info', 'log', 'markTimeline', 'profile', 'profileEnd', 'table', 'time', 'timeEnd', 'timeStamp', 'trace', 'warn']; for(var i=0,l=funcs.length;i<l;i++) { var func = funcs[i]; if(!console[func]) console[func] = function(){}; } })()