簡體   English   中英

javascript錯誤導致頁面重新加載?

[英]javascript error causes page reload?

在部署過程中,我得到了一些奇怪的頁面刷新,但是我似乎找不到原因或在開發中復制它。 有沒有一種JavaScript錯誤或異常導致頁面重新加載的方法? 或一些技巧可以幫助我縮小原因?

它發生在現場部署時,我無法在本地測試時復制它。 我知道這正在發生,因為我正在使用ELMAH記錄異常。 用戶正在使用Firefox。

UrlReferrer:example.com/products/edit/100

GET的網址:example.com/products/edit/undefined

而且我沒有看到可以從該頁面調用的window.location ='/ products / edit /'+ id形式的任何JavaScript代碼(其中id可能未定義)。

但是在其他地方也有類似上述的電話。 我希望這是有道理的。 :)

不,沒有任何Javascript錯誤會導致頁面重新加載。 如果發生錯誤,瀏覽器沒有理由重新加載頁面,這樣做的唯一希望就是使相同的錯誤再次發生。

因此,Javscript錯誤可能導致重新加載的唯一原因是該腳本在正常工作時阻止了重新加載,或者在某些特定情況下通常導致重新加載並且無法將其限制在那種情況下。

示例:如果您有防止點擊導致回發的代碼:

<a href="page.html" onclick="return false;">

如果腳本中有錯誤,它將不再阻止重新加載。

該問題已經得到解答,但是我想對調試此行為添加一個建議。

我正在使用Firefox / Firebug進行大量的JS開發,有時在頁面提交之前,有時會在Firebug中看到一個異常,對此我無能為力。 如果我有100行JS來響應一個事件,那么我不想單步執行所有操作,尋找包含錯誤並導致重新加載的1行。

一旦我能夠復制錯誤,就可以使用Fiddler在URL上設置一個斷點(例如bpu localhost ,它將終止所有前往localhost的請求。即使瀏覽器已提交,它仍然提供對Firebug的訪問權限,因此我可以在Fiddler按住時檢查錯誤請求。

希望這可以幫助某人

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM