Et HTML-program som bruker hendelsen "onbeforeunload" lukkes uventet i Internet Explorer 7 når du klikker på "Avbryt"

Gjelder: Internet Explorer 9

Symptomer


Tenk deg følgende:
  • Du oppretter et HTML-program (HTA).
  • Av HTA bruker hendelsen onbeforeunload .
  • Du starter HTA i Windows Internet Explorer 7.
  • Når du lukker HTA, får du en melding som ligner på følgende:
    Er du sikker på at du vil navigere bort fra denne siden?

    strengverdien

    Trykk OK for å fortsette, eller Avbryt for å forbli på gjeldende side.
    Obs! I denne meldingen representerer plassholderen Strengverdi verdien for egenskapen event.returnValue i koden for HTA.
I dette scenariet lukker du HTA som forventet når du klikker OK. Imidlertid lukkes at HTA uventet når du klikker Avbryt.

Årsak


Dette problemet oppstår på grunn av hvordan Shdocvw.dll-filen behandler metoden IOleCommandTarget::Exec .

Status


Microsoft har bekreftet at dette er en feil i Microsoft-produktene som er oppført i delen "Gjelder for".

Hvis du vil ha mer informasjon


Dette problemet oppstår ikke når du starter HTA i Microsoft Internet Explorer 6.

Fremgangsmåte for å gjenskape problemet

  1. Opprette en HTA.
  2. Sett inn følgende kode i 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. I Internet Explorer 7, kan du starte i HTA.
  4. Lukk HTA.
  5. Klikk Avbryt. Legg merke til at vinduet lukkes.

Referanser


Hvis du vil ha mer informasjon om HTAer skiller, kan du gå til følgende webområde for Microsoft Developer Network (MSDN):Hvis du vil ha mer informasjon om egenskapen event.returnValue , kan du gå til følgende MSDN-webområde: