指令碼沒有反應的警告 – 這代表什麼與如何解決

Firefox 有時會顯示「警告: 指令碼沒有反應」的警告,當中提到「此頁面可能內含需大量執行時間的程式碼 (Script) 或已停止回應。您可以馬上停止它,或是繼續等待它完成。」這篇文章描述該警告出現的原因以及可能的解決方案和暫時解法。

這個錯誤是告訴你 Firefox 覺得這個 指令碼 已失去控制,若您不採取任何措施會使得 Firefox 停止回應。這個指令碼可能位於你正瀏覽網頁、您你安裝的擴充套件,或是 Firefox 本身。

Webroot Spy Sweeper

已知 Webroot Spy Sweeper 會造成這個問題,停用 Spy Sweeper Cookie 追蹤功能(或是完全停用 Spy Sweeper)可以解決這個問題。

延長指令碼執行時間

如果你發現按下 繼續 按鈕之後再度顯示同樣的提示,代表讓讓指令碼執行更長的時間並無幫助,只會讓 Firefox 卡得更久。然而,若您按下 繼續 後 Firefox 恢復正常運作,代表指令碼僅單純需要更多的時間執行。

讓 Firefox 執行指令碼的時間變得更長:

  1. 位址列,輸入 about:config 然後按下 EnterReturn

    • about:config 這一頁可能會出現 "隨便亂搞會讓保固失效!" 的警告文字。點擊 我發誓,我一定會小心的!,接著就會前往 about:config 頁面。
  2. 在 about:config 頁面中搜尋 dom.max_script_run_time 設定,對該設定點擊兩下該選項。
  3. 輸入整數值 提示中輸入 20
  4. 按下 確定

在您讓指令碼能執行得更久之後,您可能你不會再看到該提示訊息。

如果你仍想收到該提示(或是你想再一次看到),您應該將該設定還原回預設值。

  1. 位址列,輸入 about:config 然後按下 EnterReturn

    • about:config 這一頁可能會出現 "隨便亂搞會讓保固失效!" 的警告文字。點擊 我發誓,我一定會小心的!,接著就會前往 about:config 頁面。
  2. 在 about:config 頁面中搜尋 dom.max_script_run_time 設定。
  3. 對該設定 按下右鍵 按住 Ctrl 鍵並點擊,然後選擇 重設


存取某些網站時才會發生錯誤

如果您只瀏覽在某些網站才會遇到此錯誤,您可以停用這些網站上的指令碼。很多網站就算無法執行指令碼即使腳本被停用很多網站仍可正常運行。

  1. 安裝 YesScript 擴充套件並且重新啟動 Firefox。
  2. 開啟 Firefox 視窗並開啟 Firefox 並 點選 工具 選單,然後選擇 附加元件
  3. 點擊對話視窗中的 YesScript 項目。
  4. 按下選項偏好設定
  5. YesScript 黑名單 對話框中,輸入有問題的網站的網址。
  6. 按下 新增,將會新增該網站的網域名稱至黑名單當中。

如此將不會在這些有問題的網站執行指令碼,指令碼沒有回應的警告就不會再出現。


其他原因

某些附加元件可能造成這個問題,請參閱 解決擴充套件、佈景主題以及硬體加速造成的 Firefox 常見問題




依照 Unresponsive Script Warning (mozillaZine KB) 當中的資訊撰寫

這篇文章有幫助嗎? 請稍候...

這些人們幫忙撰寫了這篇文章: petercpg, orinx, boyiliao。您也可以幫忙 - 看看要怎麼作