2013-01-14 29 views
1

我正在使用window.onerror=function(msg, url, linenumber)向javascript發送自己的電子郵件時發生錯誤。當我使用我的網頁時(IE,FF,CHRM等),我不會收到任何錯誤。但是,我收到了其他用戶通過電子郵件發送給我的各種錯誤,我無法複製。我可能在訪問該網站的用戶中有1%發生錯誤,因此1/100頁的加載出現錯誤。這裏有一些:多個不同的Javascript錯誤不能重複

網站99我不明白的是%的時間運行沒有任何錯誤,我似乎無法在我使用的任何瀏覽器上發生錯誤。我也跟蹤用戶使用誰發送這些錯誤的瀏覽器,它是隨機的,各種瀏覽器,他們都是新的FF,IE版本主要。

如何停止外部代碼的語法錯誤(但他們大多數時間工作)...? 如何谷歌和thawte腳本無法經常加載一些人,但從來沒有發生在我身上,有沒有辦法讓這個回退? datepicker之一,我只能承擔其錯誤,因爲jquery UI未能加載,因爲jquery加載(否則它不會被調用內部的文檔準備調用),但我甚至有一個本地主機jQuery UI的腳本後備包括,它仍然發生..

有沒有人有我的建議,以幫助我進一步調試/修復這些問題。事情是,網站得到了大量的點擊,我收到關於每分鐘通過電子郵件發送給我的一個錯誤(並且它不是導致每個錯誤的同一用戶)。如果你有任何建議讓我知道(記住99%的代碼和網站工作正常,所以我不認爲它是我的任何地方的語法問題)。

謝謝你的時間。

+0

我知道一些來自伊朗的人很難與谷歌的服務器,也許是有關用戶的國家。 –

+0

哦,網站上的每個人都來自加利福尼亞州。謝謝 – Danny

回答

1

How do you stop syntax errors on external code (but they work most of the time)...?

你不可能真的。沒有更詳細的信息調查是不可能的。注意,sysntax錯誤也可能是由其他內容引起的,它們的起源可能不在外部腳本中。我懷疑Google Analyticts會提供無效的腳本。

How come google and thawte scripts fail to load some people so often but never happens to me

他們可能會使用adblockers或類似於這些。不是每個人都希望他的網絡使用情況由Google記錄另外,一些代理可能會忽略/阻止它們,如內聯網防火牆。

is there a way to have a fallback to this?

您可以嘗試從您自己的域名作爲代理服務他們。或者只是忽略它們,我認爲你的應用程序確實不需要爲這些應用程序提供回退。

The datepicker one, I can only assume its error out because jquery UI failed to load as jquery still loads

是的,聽起來很可能。或者它只是在它被調用之前沒有加載。

but I even have a localhost jquery UI script fallback include and it still happens..

Localhost?我想你是指你的服務器上的副本。不過,這取決於腳本及其備用版本的加載細節。

Does anyone have a suggestion for me to help me further debug/fix these problems.

堆棧跟蹤將有助於大量定位導致錯誤的用戶操作。

1

列表中的大多數錯誤都是由瀏覽器擴展中的錯誤引起的。

如果您確實想記錄JavaScript錯誤,最好還記錄堆棧跟蹤(如果可用)。我還記錄了有關執行的函數和發送給它的參數的詳細信息。當錯誤被捕獲時,我從我建立的堆棧中刪除X數量的東西,並將其發送出去。