如何疑難排解 Internet Explorer 的指令碼錯誤

警告

已淘汰、不受支援的 Internet Explorer 11 傳統型應用程式已於特定 Windows 10 版本透過 Microsoft Edge 更新永久停用。 如需詳細資訊,請參閱 Internet Explorer 11 傳統型應用程式淘汰常見問題集 (英文)。

本文協助您解決 Internet Explorer 發生指令碼錯誤時,網頁無法顯示的問題。

原始產品版本:internet explorer 11、Internet Explorer 10、internet explorer 9
原始 KB 編號: 308260

摘要

當您收到指令碼錯誤的指示時,網頁可能無法在 Internet Explorer 中正確顯示或運作。

當 Internet Explorer 發生指令碼錯誤時,您可能會收到下列錯誤訊息:

網頁發生問題,所以無法正確顯示或執行。 以後您在狀態列的警告圖示上按兩下,就可以顯示此訊息。

如果您選取 [顯示詳細資料],您可能會看到下列錯誤的詳細資訊:

Line:<LineNumber>
Char:<CharacterNumber>
Error:<ErrorMessage>
Code: 0
URL: http://Webserver/page.htm
A Runtime Error has occurred.
Do you wish to Debug?
Line:<LineNumber>
Error:<ErrorMessage>

下列警告訊息可能也會出現在 Internet Explorer [狀態] 列中:

已完成,但是網頁發生錯誤。

之所以發生這個問題,是因為網頁的 HTML 原始碼無法正確地與用戶端指令碼搭配運作,例如 Microsoft JScript 或 Visual Basic Script。 這個問題可能是由下列一個或多個原因所造成:

  • 網頁的 HTML 原始碼發生問題。
  • 網頁使用 Internet Explorer 不支援的較新技術。 如需從 Internet Explorer 移至 Microsoft Edge 的詳細資訊,請參閱 Internet Explorer 11 已淘汰,且已正式退出您需要知道的支援
  • 網頁使用用戶端的視覺基本指令碼 - 已被取代。
  • 您的電腦或網路封鎖了動態指令碼處理、ActiveX 控制項或 Java 程式。 Internet Explorer 或其他如防毒程式或防火牆的程式,可能設定為封鎖動態指令碼處理、ActiveX 控制項或 Java 程式。
  • 防毒軟體設定為掃描您的 Temporary Internet FilesDownloaded Program Files 資料夾。
  • 電腦上與網際網路相關的資料夾已毀損。
  • 您的視訊卡驅動程式已毀損或過期。

注意事項

伺服器端的指令碼,例如動態伺服器網頁 (ASP) 的 Visual Basic 指令碼,在網頁伺服器上執行。 因伺服器端指令碼失敗所造成的指令碼錯誤不會在 Internet Explorer 中產生錯誤訊息,但可能會建立無法正確顯示或執行的網頁。 本文中的疑難排解資訊適用於用戶端指令碼錯誤。 如果您懷疑有問題影響了伺服器端的指令碼,請連絡網頁伺服器的系統管理員。

本文所列的方法可以協助您疑難排解由電腦上的檔案或設定所造成的指令碼錯誤。 如需快速視覺指示疑難排解 Internet Explorer 中的指令碼錯誤,請觀看這段影片:

解決方案

注意事項

Microsoft 鼓勵您使用最新的 Windows 版本來更新系統。 如需有關 Windows Update 的詳細資訊,請參閱 常見問題集

步驟 1:確認多個網頁上發生指令碼錯誤

如果問題只是出現錯誤訊息,而網站還能正常運作,則您通常可以忽略這個錯誤。 此外,如果問題只發生在一個或兩個網頁上,可能是那些網頁造成問題。 如果您決定要忽略這些錯誤,您可以停用指令碼偵錯。 若要這樣做,請選取 [網際網路選項]>[進階]>[瀏覽設定] 中的 停用指令碼偵錯 (Internet Explorer) 核取方塊。

注意事項

如果問題發生在一個或兩個以上的網站,請不要停用指令碼偵錯。

步驟2:確認問題是您電腦上的檔案或設定所造成

如果要縮小問題來源,請使用其他使用者帳戶、瀏覽器或電腦檢視觸發指令碼錯誤的網頁。

如果您透過其他使用者帳戶、瀏覽器或電腦檢視網頁時沒有出現指令碼錯誤,則問題可能是電腦上的檔案或設定所造成。 在此情況中,請依照本文中的方法執行,以解決此問題:

完成每個方法之後,請嘗試開啟先前收到指令碼錯誤的網頁。 如果您未收到錯誤訊息,代表問題已經解決。

方法1:確認動態指令碼處理、ActiveX 與 Java 未遭到 Internet Explorer 封鎖

動態指令碼處理、ActiveX 和 Java 全部都與資訊顯示在網頁上的方式有關。 如果您的電腦已封鎖這些功能,可能會干擾網頁的顯示方式。 您可以重設 Internet Explorer 安全性設定,確保這些功能未遭到封鎖。 如果要執行這項操作,請依照下列步驟執行:

  1. 啟動 Internet Explorer。

  2. [工具] 功能表上,選取 [網際網路選項]。 如果您看不到 [工具] 功能表,請按下 Alt 以顯示功能表。

  3. [網際網路選項] 對話方塊中,按一下 [安全性] 索引標籤。

  4. 選取 [預設等級]>[確定]

    注意事項

    Internet Explorer 的高安全性等級會關閉 ActiveX 控制項及 Java 程式。

    網際網路選項視窗的螢幕擷取畫面。在 [安全性] 索引標籤下選取 [預設等級]。

方法 2:移除所有網際網路暫存檔案

每次您開啟瀏覽器檢視網頁時,您的電腦便會在暫存檔案中儲存本機複本。 如果網際網路相關的暫存檔案容量太大,開啟網頁時可能會發生一些網頁的顯示問題。 定期清除檔案可能有助於解決此問題。

移除 Internet Explorer 所有與網際網路相關的暫存檔案。

  1. 啟動 Internet Explorer。

  2. [工具] 功能表上,選取 [網際網路選項]。 如果您看不到 [工具] 功能表,請按下 Alt 以顯示功能表。

  3. 選取 [一般] 索引標籤。

  4. [瀏覽歷程記錄] 下,選取 [刪除]

    [網際網路選項] 視窗的螢幕擷取畫面。在 [一般] 索引標籤下的 [流覽歷程記錄] 區中,會反白顯示 [刪除] 按鈕。

  5. [刪除瀏覽歷程記錄] 對話方塊中,選取下列核取方塊,然後選取 [刪除]

    • 臨時網際網路檔案
    • Cookie
    • 歷程記錄

    [刪除瀏覽歷程記錄] 視窗的螢幕擷取畫面。系統會檢查 [臨時網際網路檔案]、[Cookie] 與 [歷程記錄] 選項。

  6. 按一下 [關閉],然後選取 [確定] 以關閉 [網際網路選項] 對話方塊。

方法 3:安裝適用於 Windows 的最新軟體版本

若要保持最新狀態,請選取 [開始] 按鈕 > [設定>更新 & 安全>性 Windows Update],然後選取 [檢查更新]

進階偵錯

本節主要是提供給進階電腦使用者。 本節包含三種可協助解決問題的方法。

方法 1:確認動態指令碼處理、ActiveX 與 Java 未遭到防毒軟體程式或防火牆封鎖

指令碼、ActiveX 控制項和 Java 程式可協助設定網頁的顯示方式。 如果這些功能遭到封鎖,可能會干擾網頁顯示。

如果要確認指令碼、ActiveX 控制項及 Java 程式未遭到封鎖,請參閱您所使用的防火牆或防毒軟體程式文件。 然後,採取任何必要的變更。

方法 2:確認您的防毒軟體程式未設為掃描臨時網際網路檔案或下載的程式檔資料夾

如果防毒程式將指令碼轉譯成病毒,並使其無法執行,就可能會發生指令碼錯誤。 如果要防止這種狀況發生,請確定防毒軟體程式不會掃描臨時網際網路檔案資料夾或下載的程式檔資料夾。

如果要防止該程式掃描這些資料夾,請參閱您所使用的防毒軟體程式文件。 然後,採取任何必要的變更。 若要在Windows 10 環境檢視中,新增排除項目至Windows 安全性,新增排除項目至Windows 安全性

方法 3:關閉平滑捲動

如果遇到視訊顯示問題,平滑捲動功能可能會造成系統無法正確計時指令碼。 這可能會產生指令碼錯誤。 若要關閉 Internet Explorer 中的平滑捲動功能,請依照下列步驟執行:

  1. 啟動 Internet Explorer。
  2. [工具] 功能表上,選取 [網際網路選項]。 如果您看不到 [工具] 功能表,請按下 Alt 以顯示功能表。
  3. [進階] 索引標籤上,清除 [使用平滑捲動] 核取方塊。
  4. 選取 [確定],然後結束 Internet Explorer。

注意事項

如果這樣能解決問題,請查看是否有適用您視訊卡的更新驅動程式。 如果要取得更新的驅動程式,請與視訊卡或電腦的製造商連絡。

其他相關資訊

關閉 Internet Explorer 中關於所有指令碼錯誤通知的程序

  1. 啟動 Internet Explorer。

  2. [工具] 功能表上,選取 [網際網路選項]。 如果您看不到 [工具] 功能表,請按下 Alt 以顯示功能表。

  3. [進階] 索引標籤上,清除 [顯示所有指令碼錯誤通知] 方塊,然後選取 [確定]

    [網際網路選項] 視窗的螢幕擷取畫面。在 [進階] 索引標籤下, [顯示所有指令碼錯誤通知] 核取方塊已清除。

從 Internet Explorer 列印時的指令碼錯誤疑難排解

如果您在 Internet Explorer 中列印網頁,可能會收到類似以下範例的指令碼錯誤:

An error has occurred in the script on this page.
Line:<LineNumber>
Char:<CharacterNumber>
Error:<ErrorMessage>
Code: 0
URL: res/ieframe.dll/preview.js.

一般而言,過期的印表機驅動程式可能會在 Internet Explorer 列印時造成問題。 如果要解決這些問題,請嘗試更新為最新的印表機驅動程式。

若要解決這個問題,請依照 修復 Windows 7 與 Windows 8.1 中的印表機問題中的步驟,以檢查您的印表機並更新印表機驅動程式。

重要事項

在某些情況下,可能無法透過 Windows 更新取得驅動程式的更新版本。 您可能需要造訪製造商網站找出並下載最新的印表機驅動程式。

如果您無法在 Internet Explorer 中列印或預覽網頁,請參閱下列文章:

無法在 Internet Explorer 中列印網頁或是檢視網頁的預覽列印