文章編號: 946214 - 上次校閱: 2007年12月28日 - 版次: 1.0

使用 onbeforeunload 」 事件的 HTML 應用程式意外關閉網際網路總管 7] 中當您按一下 [取消]

系統提示本文適用於您使用的作業系統之外的作業系統。與您不相關的文章內容已停用。

在此頁中

全部展開 | 全部摺疊

徵狀

考慮下列案例:
  • 您建立的 HTML 應用程式 (HTA)。
  • 在 HTA 使用 onbeforeunload 事件。
  • 您開始在 HTA 中 Windows 網際網路總管 7。
  • 當您關閉 [在 HTA 會收到類似下列的訊息:
    您是否確定要離開這個頁面瀏覽?

    string value

    請按 [確定] 繼續,或按 [取消] 停留在目前頁面上。
    附註 此郵件中預留位置 string value 會代表針對 HTA event.returnValue 屬性程式碼中的值。
在此案例在 HTA 關閉如預期地當您按一下 [確定]。不過,在 HTA 意外關閉當您按一下 [取消]

發生的原因

因為的 Shdocvw.dll 檔案處理 IOleCommandTarget::Exec 方法的方式,就會發生這個問題。

狀況說明

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

其他相關資訊

當您在 Microsoft Internet Explorer 6 中啟動 HTA 時,就不會發生這個問題。

如果要重現問題的步驟

  1. 建立 HTA。
  2. 將下列程式碼插入在 HTA:
    <html>
    
    <head>
                <TITLE>TEST</TITLE>
                  <HTA:APPLICATION ID="TEST"
                   APPLICATIONNAME="TEST"
                   BORDER="thick"
                   BORDERSTYLE="normal"
                   CAPTION="yes"
                   CONTEXTMENU="no"
                   MAXIMIZEBUTTON="no"
                   MINIMIZEBUTTON="yes"
                   SELECTION="no"
                   SHOWINTASKBAR="yes"
                   SINGLEINSTANCE="yes"
                   SYSMENU="yes"
                   VERSION="1.0"
                   WINDOWSTATE="normal"/>
    
    <script type="text/javascript">
    function closeIt()
      {
        event.returnValue = "string value";   // Any string value here forces a dialog box to appear before the window closes.
      }
    </script>
    </head>
    
    <body onbeforeunload="closeIt()">
    
    <a href="http://www.microsoft.com">Click here to navigate to www.microsoft.com </a>
    
    </body>
    
    </html>
  3. 在 [網際網路總管 7 開始在 HTA。
  4. 關閉 [HTA。
  5. 按一下 [取消]。請注意,視窗會關閉。

?考

如需有關 HTA 的詳細資訊,請造訪下列 Microsoft 開發 o 人 h 員 ? 工 u 具 ? 網路 (MSDN) 網站]:
http://msdn2.microsoft.com/en-us/library/ms536496.aspx (http://msdn2.microsoft.com/en-us/library/ms536496.aspx)
如需有關 event.returnValue 屬性的詳細資訊,請造訪下列 MSDN 網站:
http://msdn2.microsoft.com/en-us/library/ms534372.aspx (http://msdn2.microsoft.com/en-us/library/ms534372.aspx)

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