2011年9月30日 星期五

Firefox 出現「發現容易停止回應的程式碼」警示訊息


這是Firefox因為你所瀏覽的網頁正在執行一些複雜且需長時間的前端程式,更有可能是執行中的程式已經失去控制,

或者是有些安裝於 Firefox 的套件而導致這樣的情況發生,例如:Firebug…

image

雖然說,上面出現的那個視窗可以勾選「下次不要詢問」,但是往往還是會時常出來跟你打招呼…



Warning Unresponsive script

Firefox may give you a "Warning: Unresponsive script" prompt that says "A script on this page may be busy, or it may have stopped responding. You can stop the script now, or you can continue to see if the script will complete." This article describes why this could happen and possible solutions and workarounds.

This error is telling you that Firefox thinks that a script may be running out of control and would make Firefox hang if nothing is done. The script could be something on a web page you're accessing, in an extension you installed, or even Firefox itself.

http://support.mozilla.com/en-US/kb/Warning%20Unresponsive%20script

上面的支援網頁有說到幾種可能性與解決方式,

例如:

  1. Webroot Spy Sweeper

  2. Letting the script run longer

  3. Error happens when accessing certain websites

  4. Other causes

其實比較有效的方法的第二個,讓腳本執行的時間加長,這就必須去修改Firefox的Config設定:

 

1.在URL列輸入「about:config」後按下Enter

image

 

2.會出現以下的畫面,提醒你不要惡搞,惡搞會有危險的!!反正就是按下「我發誓,我一定會小心的!」

image

進入後會出現所有的設定值列表

image

 

3.於「篩選條件」中輸入「dom.max_script_run_time」後會自動濾出設定值

image

 

4.在「dom.max_script_run_time」的項目上做double-click後會顯示設定資料值的視窗\

這裡我們就先把原本的「10」調整為「20」試試看,調整完後按下確定,

為了保險一點,設定完成之後就關閉Firefox再重新啟動。

image

如果你改變設定之後還是一樣會不時出現「發現容易停止回應的程式碼」的警示訊息,

那麼還是建議你要把剛剛所做的變更設定再去改回來,

在「dom.max_script_run_time」項目上按下活鼠右鍵後,選擇「重設」,就會把該項目的值給調回預設值「10」

image

 

而如果出現「發現容易停止回應的程式碼」警示訊息的狀況僅出現於某些特定的網站時,

Firefox Help是建議要去另外安裝一個套件「YesScripthttps://addons.mozilla.org/zh-TW/firefox/addon/yesscript/

這是一個專門記錄JavaScript黑名單的套件,將有問題的JavaScript給記錄起來,然後下次到了這個網站後就不去執行。

而這個套件相對的套件就是「NoScripthttps://addons.mozilla.org/zh-tw/firefox/addon/noscript/

NoScript,是將全部的JavaScript給封鎖,然後讓我們去選擇哪些JavaScript可以開放執行,

YesScript,則是相反,讓你選擇那些JavaScript要封鎖。

延伸閱讀:

[自由軟體,鼠到擒來] YesScript:設定Firefox瀏覽器JavaScript的黑名單

 

不過,我是認為安裝YesScript然後封鎖有問題的JavaScript,這如果是封鎖別人網站的JavaScript,我是無所謂,

但是,如果是我們自己開發的網站,在開發階段還會一直出現這個問題,那麼就要先想想是不是自己的問題,

看看是不是JavaScript有哪個地方出了問題、還是那個地方寫了不好的迴圈方法等等。

 

通常只要對設定「」做了修改後就會得到改善,上面就是我對於這個狀況的解決方式,分享給各位。

 

以上

2 則留言:

  1. 請教 : 如何 封鎖 網頁的 廣告 動畫 ?

    回覆刪除
    回覆
    1. ㄟ.... 在這邊問,我就當做你是在問 Firefox 瀏覽器的外掛,一般網頁廣告動畫都是 flash, 所以可以裝個 FlashBlock 等相關套件,這個到 Firefox Addons 去尋找,至於其他瀏覽器就去尋找相關套件。

      刪除

提醒

千萬不要使用 Google Talk (Hangouts) 或 Facebook 及時通訊與我聯繫、提問,因為會掉訊息甚至我是過了好幾天之後才發現到你曾經傳給我訊息過,請多多使用「詢問與建議」(在左邊,就在左邊),另外比較深入的問題討論,或是有牽涉到你實作程式碼的內容,不適合在留言板裡留言討論,請務必使用「詢問與建議」功能(可以夾帶檔案),謝謝。