關於IE出現(錯誤訊息:「這個網頁的指令碼造成 Internet Explorer 執行速度緩慢」)錯誤訊息解決方式。

最近學校在做校務評鑑工作,發現每次在用IE開啟評鑑網頁中的總務發展總會出現問題(FireFox則不會),後來發現問題是出現程式碼與IE之間的衝突,為何只有總務發展會發生呢?因為建立了太多子項目了。
解決方式有二:
1、建議建立選單時不要超過二層
2、利用以下微軟所建議的方式解決。(以下資料轉錄自Micrsoft技術支援文章編號: 175500 )http://support.microsoft.com/kb/175500/zh-tw

錯誤訊息:「這個網頁的指令碼造成 Internet Explorer 執行速度緩慢」

 

結論

由於部份指令碼執行時可能要花費很長一段時間,因此 Internet Explorer 會出現提示,讓使用者決定是否要繼續執行緩慢的指令碼。部份測試和基準可能會使…
由於部份指令碼執行時可能要花費很長一段時間,因此 Internet Explorer 會出現提示,讓使用者決定是否要繼續執行緩慢的指令碼。部份測試和基準可能會使用需長時間執行的指令碼,並且希望延長訊息方塊出現前的執行期間。在 Internet Explorer,特定用戶端機器上的指令碼逾時值可以透過修改登錄項目來進行變更。

 

其他相關資訊

當網頁中含有花費異常長時間執行的指令碼時,便會出現一些狀況。如果網頁正在處理 ActiveX 控制項的指令碼以進行大型檔案傳輸,或是大型資料庫查詢,這常會明顯地…
當網頁中含有花費異常長時間執行的指令碼時,便會出現一些狀況。如果網頁正在處理 ActiveX 控制項的指令碼以進行大型檔案傳輸,或是大型資料庫查詢,這常會明顯地造成長延遲。Internet Explorer 3.02 偵測到長延遲並出現以下內容的對話框提示使用者:

此網頁中含有花費異常長時間才能完成的指令碼。若要立即結束此指令碼,請按「取消」。

Internet Explorer 4.0、5.0、6、7 和 8 有相同的訊息方塊,如下:

這個網頁的指令碼造成 Internet Explorer 執行速度緩慢。如果繼續執行,您的電腦可能會沒有回應。您要中止指令碼嗎?

這個機制允許使用者中止不正常 (會進入無止盡迴圈或是執行緩慢) 的指令碼。

在 Windows 95 的機器上執行 Internet Explorer 3.02 會出現此訊息方塊。3.02 版的瀏覽器會特別查看程式碼執行緒是否在最近的五秒內送出任何 Windows 訊息。Internet Explorer 3.02 的逾時期間無法覆寫。如果您正在使用 ActiveX 控制項和長時間凍結的作業,則應針對該 ActiveX 控制項採用事件機制並將控制權交還給呼叫端,或是每隔五秒鐘呼叫 PeekMessage 一次來重設逾時。

Internet Explorer 4.0 和更新的版本,逾時值不再是根據 Windows 訊息的固定值。 Internet Explorer 會針對目前頁面,使用程式碼引擎來追蹤執行的程式碼陳述式總數,並在每次新的程式碼開始執行時進行重設,例如從逾時值或從事件處理常式來進行重設。Internet Explorer 會在該值超出臨界值總量時,出現「長時間執行的程式碼」對話框。Internet Explorer 並不會檢查每個指示,查看其是否超出限制。程式碼引擎會定期輪詢 Internet Explorer 的陳述式執行數,且 Internet Explorer 會檢查其是否超出限制。由於這樣的機制,因此若在程式碼引擎輪詢 Internet Explorer 之前全部的程式碼就已執行完成,很有可能執行數就會超出預設限制而沒有出現對話框。

如果要我們為您變更 Internet Explorer 4.0、5.0、6、7 或 8 的逾時值,請前往〈 為我修正此問題 〉一節。如果您要自行修正這個問題,請前往<讓我自行修正此問題>一節。

為我修正此問題

如果要自動修正此問題,請按一下 [修正此問題] 按鈕或連結。按一下 [檔案下載] 對話方塊中的 [執行],並依照 Fix it 精靈中的步驟執行。

修正此問題
Microsoft Fix it 50403

注意

  • 此精靈只適用於英文版本。不過,自動修正程式也適用於 Windows 的其他語言版本。
  • 如果您不在發生問題的電腦上,則可將 Fix it 解決方案儲存至快閃磁碟機或 CD,然後在發生問題的電腦上執行。

然後請前往<這樣是否已修正問題?>一節。

讓我自行修正此問題

重要這個章節、方法或工作包含修改登錄的步驟。然而,如果您不當修改登錄,可能會發生嚴重的問題。因此,請務必小心執行這些步驟。為加強保護,修改登錄之前,請務必將它備份起來。以後您就可以在發生問題時還原登錄。如需有關如何備份和還原登錄的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

322756  (http://support.microsoft.com/kb/322756/ ) 如何在 Windows XP 中備份及還原登錄

若要變更 Internet Explorer 4.0、5.0、6、7 或 8 的逾時值,請依照下列步驟執行:

  1. 使用「登錄編輯程式」,如 Regedt32.exe,開啟此機碼:
    HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Styles

    注意如果

    Styles

    機碼不存在,請建立一個名為

    Styles

    的新機碼。

  2. 在此機碼下建立一個新的 DWORD 值 (名為 “MaxScriptStatements”),並將值設定為想要的程式碼陳述式數目。如果您不確定要如何設定該值,您可以將他設定為 DWORD 值 0xFFFFFFFF 來完全避開對話框。

根據預設,該機碼不存在。如果尚未新增該機碼,在 Internet Explorer 4 或更新的版本中,逾時對話框的預設臨界值限制為 5,000,000 個陳述式。

由於 Internet Explorer 4.0、5.0、6、7 和 8 的逾時值是根據程式碼陳述式的執行數決定的,因此在 ActiveX 控制項或資料庫存取延遲時,將不會顯示逾時對話框。但仍會偵測程式碼中無止盡的迴圈。

這樣是否已修正問題?

  • 檢查該問題是否已修正。如果問題已修正,您便已完成本節。如果問題尚未修正,則可連絡技術支援服務 (http://support.microsoft.com/contactus) 。
  • 我們非常感謝您提供意見反應。如果要提供意見反應,或報告此解決方案的任何問題,請在「為我修正此問題 (http://blogs.technet.com/fixit4me/) 」部落格 中留下您的意見,或者傳送電子郵件 (mailto:fixit4me@microsoft.com?Subject=KB) 給我們。