2011-03-30 35 views
0

我得到了一個腳本進行ff和chrome(不關心safari),當發生javascript錯誤時,它發送一封電子郵件。

它適用於FF &鍍鉻。

IE8上我看到的console.log或者我在Ajax調用但調用本身從未成功添加警報,這讓我瘋了,它實際上進入成功的功能

window.onerror = function (msg, url, line) { 

    $.ajax({ 
     type:"GET", 
     url:"jserrorhandler.php", 
     data:"message="+msg+"&url="+url+"&line="+line+'&from='+settings.from+"&website="+settings.website, 
     success: function(){ 
      if(window.console) console.log("Report sent about the javascript error") 
     } 
    }) 
    return true; 
} 
+0

只是說你應該確保'console'有'log'方法以及'(‘控制檯’中窗口&&'登錄'在控制檯中)'。 – alex 2011-03-30 01:47:52

回答

0

我發現這個問題,IE被緩存我的Ajax請求,這就是它...

$.ajax({ 
    type:"GET", 
    cache:false 
0

不知道這是否會有所作爲,但在ajax調用之後你錯過了一個分號。

+0

js中的分號被推斷出來。如果沒有返回空函數,在這種情況下,這並不重要。 – iivel 2011-03-30 02:09:34

+0

我意識到這一點,但我記得讀到這種行爲與瀏覽器不同。所以我不確定IE8如何處理它。 – Ketan 2011-03-30 02:12:18

+0

包含分號而不是讓瀏覽器決定如何處理語法錯誤的JavaScript是個好習慣。您可以使用lint來確保您正在編寫正確的代碼。 – 2011-08-04 20:30:42