今天在項目中遇到了一個瀏覽器一直循環報錯,看了下網上的講解。突然想到了window.onerror事件:
1,以前用window.onerror事件的時候是頁面上報錯,但是不影響功能。測試又說報錯影響項目質量或者對客戶體驗不好,所以就用了window.onerror事件:window.οnerrοr=function(){return
ture;} 好像只針對IE纔可以。
但是今天我突然發現onerror事件還有幾個參數可以讓我們開發者更加清楚的知道錯誤的信息:
<script type="text/javascript">
window.οnerrοr=testError;
function testError(){
arglen=arguments.length;
var errorMsg="參數個數:"+arglen+"個";
for(var i=0;i<arglen;i++){
errorMsg+="\n參數"+(i+1)+":"+arguments[i];
}
alert(errorMsg);
window.οnerrοr=null;
return true;
}
打印出來的錯誤信息: 1 幾個錯誤 ,錯誤的類型, 錯誤的頁面(url), 錯誤的行數
發現的問題: 如果頁面出現多次錯誤,只捕獲第一次錯誤並進行處理然後終止後面程序的執行
在Chrome和Safari中,window.onerror未起作用。