DetailPage-MSS-KB

知識庫

文章編號: 830555 - 上次校閱: 2007年11月2日 - 版次: 3.4

 

在此頁中

徵狀

當您重新整理使用包含物件在 [Microsoft 網際網路總管文件物件模型 (DOM) 的循環參考的 Microsoft JScript 程式碼的 HTML 網頁時,就會發生記憶體遺漏。

發生的原因

DOM 物件是未 JScript 物件,就會發生這個記憶體流失的現象發生。DOM 物件不是 JScript 的標記和跨越回收配置。因此,DOM 物件與 JScript 處理常式之間循環的參考將不會中斷直到瀏覽器完全 tears 在頁面上向下。當瀏覽器會開啟新的 Web 網頁,或當關閉瀏覽器視窗時,將會結束這個記憶體流失的現象發生。

解決方案

如果要解決這個問題,避免循環參考 Jscript 程式碼中的網際網路檔案總管 DOM 物件。若要暫時解決這個問題在範例程式碼包含在本文 < 其他相關資訊 > 一節中,請下列變更: 使用這項變更的
function hookup(element)
{
    element.attachEvent( "onmouseover", mouse);
}
function mouse () 
{
}
滑鼠 函式不是通往循環參照的終止物件。

狀況說明

Microsoft 已確認這是在 < 適用於 > 一節中所列出的 Microsoft 產品中有錯誤。

其他相關資訊

重現這個問題的步驟

  1. 在 [記事本] 中, 貼上下列程式碼,然後將檔案儲存成 Test.htm:
    <HTML>
    <HEAD>
    <script language="javascript">
    function initpage()
    {
    window.setTimeout("window.location.reload()", 500, "javascript");
    }
    </script>
    </HEAD>
    <body onload="initpage()" >
    <div class='menu' id='menu'></div>
    <script language='javascript'>
    hookup(document.getElementById('menu'));
    function hookup(element)
    {
    element.attachEvent( "onmouseover", mouse);
    	function mouse () 
    	{
    	}
    }
    </script>
    </body>
    </HTML>
    這段程式碼中處理常式 (滑鼠 函式) 在巢狀 attacher (連結 函式)。這種排列方式表示,處理常式已關閉對呼叫端 (這種排列方式命名結案 」) 的範圍。這個處理常式會維護變數項目的參考。在這種情況下變數項目是與設定為 功能表ID 參數之 div HTML 項目。但 div 項目參照到這個處理常式。此參考是循環參考。
  2. 在 Internet Explorer 中開啟 Test.htm。

    請注意記憶體使用量 Windows 工作管理員] 中持續增加每次頁面重新整理本身。

参考

如需有關 Internet Explorer 遺漏模式的詳細資訊,請造訪下列 Microsoft 開發 o 人 h 員 û 工 u 具 ã 網路 (MSDN) 網站]:
http://msdn2.microsoft.com/en-us/library/Bb250448.aspx (http://msdn2.microsoft.com/en-us/library/Bb250448.aspx)

這篇文章中的資訊適用於:
  • Microsoft Internet Explorer (Programming) 6.0
  • Microsoft Internet Explorer 5.5
  • Microsoft Internet Explorer 5.01
關鍵字: 
kbmt kbfix kbbug KB830555 KbMtzh
機器翻譯機器翻譯
重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,而非使用人工翻譯而成。Microsoft 同時提供使用者人工翻譯及機器翻譯兩個版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,機器翻譯的文章可能不盡完美。這些文章中也可能出現拼字、語意或文法上的錯誤,就像外國人在使用本國語言時可能發生的錯誤。Microsoft 不為內容的翻譯錯誤或客戶對該內容的使用所產生的任何錯誤或損害負責。Microsoft也同時將不斷地就機器翻譯軟體進行更新。
按一下這裡查看此文章的英文版本:830555  (http://support.microsoft.com/kb/830555/en-us/ )
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。
淘汰的知識庫文章依現狀不再更新的知識庫內容免責聲明
本文旨在說明 Microsoft 不再提供支援的產品。因此,本文係依「現狀」提供,不會再更新。
共用
其他支援選項
Microsoft Community 支援論壇
直接與我們連絡
尋找 Microsoft 認證合作夥伴
Microsoft 市集