當 Firefox 顯示「警告:指令碼沒有回應」的提示,內容為「此頁面上的指令碼可能正忙碌中,或已停止回應。您可以立即停止該指令碼,或繼續執行以確認指令碼能否完成。」時,這表示某個網頁(或有時是擴充套件)正在執行的指令碼花了太長時間才完成。這可能導致 Firefox 變慢、凍結或停止回應。
本文將解釋此警告的成因、樣貌,並提供詳細的逐步解決方案,包含如何變更指令碼逾時設定,以及如何排解軟體衝突。
目次
為何會出現此警告
Firefox 使用指令碼來協助載入網頁內容、執行互動元素,以及驅動瀏覽器功能。如果指令碼花了太長時間才完成,Firefox 會暫停它以防止您的瀏覽器完全凍結。
可能的原因包括:
- 撰寫不佳或過載的網頁(例如:大量廣告、無限迴圈)。
- 過時或不相容的擴充套件。
- 軟體衝突(例如:防毒軟體或廣告攔截器干擾頁面指令碼)。
- 限制指令碼執行時間的 Firefox 設定。
看到警告時該怎麼辦
選項 1:讓指令碼繼續執行(短暫地)
如果您點擊 後沒有再次看到警告,該指令碼可能只是需要多幾秒鐘來完成。
但如果警告持續出現,或 Firefox 變得沒有回應,請繼續執行以下步驟。
選項 2:在特定網站上封鎖指令碼
如果錯誤只在單一網站上發生,那麼很可能是該網站造成的問題。您可以使用擴充套件來封鎖特定網域執行指令碼:
- 安裝 JavaScript 開關 擴充套件。
- 點擊選單按鈕
,然後點擊,並選擇。
- 找到 JavaScript Toggle On and Off 項目,並點擊 按鈕。
- 向下捲動到 Black-list(黑名單)文字框,並輸入給您帶來問題的網站網址。
- 點擊 。該網站的網域名稱將被新增到清單中。
如此將不會在這些有問題的網站執行指令碼,指令碼沒有回應的警告就不會再出現。
選項 3:檢查衝突的軟體
某些防毒工具或隱私擴充套件可能會封鎖或干擾指令碼。使用者回報的常見範例如下:
| 軟體/工具 | 回報的問題 | 建議的動作 |
|---|---|---|
| Malwarebytes | 標記或封鎖安全的指令碼 | 將 Firefox 加入排除清單 |
| AdBlock / uBlock | 阻止指令碼載入 | 暫時停用以進行測試 |
| 指令碼封鎖擴充套件 | 過度積極地封鎖頁面元素 | 檢視過濾清單 |
疑難排解
- 以疑難排解模式重新啟動 Firefox:
- 點擊選單按鈕
,點擊 並選擇
- 在確認對話框中點擊 。
- 再次測試該網站。
- 如果錯誤沒有出現,表示可能是您的某個擴充套件或軟體工具造成了問題。
選項 4:增加指令碼執行時間(進階)
請在了解進階設定內容與可能造成的影響後再繼續。
- 在 網址列 輸入 about:config 然後按下 EnterReturn。
可能會出現警告頁面,點擊,接著就會前往 about:config 頁面。 - 在 about:config 頁面中,搜尋偏好設定 dom.max_script_run_time。
- 點擊「編輯」
按鈕並輸入 20。
- 按下勾選
按鈕以儲存偏好設定。
如果您仍然收到提示(或希望再次看到它),您應該將該偏好設定還原為預設值。
- 在 網址列 輸入 about:config 然後按下 EnterReturn。
可能會出現警告頁面,點擊,接著就會前往 about:config 頁面。 - 在 about:config 頁面中,搜尋偏好設定 dom.max_script_run_time。
- 點擊「重設」
按鈕。
仍有問題嗎?
如果以上修復方法都無效,請嘗試以下方法:
- 重新整理 Firefox 以還原預設設定
- 暫時切換到其他瀏覽器來存取有問題的網站
- 使用 Firefox 選單中的「回報網站問題」功能向 Mozilla 回報該網站
重要注意事項
- 即使問題並非由您的系統引起,Firefox 也可能顯示此警告。
- 如果您的瀏覽器除了指令碼錯誤外,還會崩潰、執行緩慢或凍結,您可能面臨的是產品問題,而非文件問題。我們建議:
- 造訪 Mozilla 技術支援論壇
- 透過 Mozilla Connect 提交回饋
相關文章
依照 Unresponsive Script Warning (mozillaZine KB) 當中的資訊撰寫