Internet Explorer kører ikke kode, hvis en hændelseshandler henviser direkte til en DOM-funktion, når du har installeret sikkerhedsopdatering MS04-038

Sammenfatning
Sikkerhedsopdatering 834707 omfatter en ændring i den måde, Internet Explorer håndterer funktionspointere på. Denne ændrede funktionalitet opstår, når en hændelseshandler peger direkte på en DOM-funktion (Document Object Model). Denne artikel beskriver problemet og anviser en række løsninger.
Symptomer
Microsoft Internet Explorer kører ikke klientbaseret kode, der er knyttet til en hændelseshandler med direkte henvisning til en DOM-funktion.
Årsag
Sikkerhedsopdatering MS04-038 omfatter en ændring i den måde, Internet Explorer håndterer funktionspointere på. Denne ændrede funktionalitet opstår, når en hændelseshandler peger direkte på en DOM-funktion:
on<event> = DOM function pointer
Workaround
Du kan undgå den ændrede funktionalitet i Internet Explorer med en af følgende metoder:
  • Kald funktionen direkte ved hjælp af JavaScript:

    Originalkode:
    <A href=# onclick=window.close>Close this window</A>
    Ændret kode:
    <A href=# onclick="window.close()">Close this window</A>
  • Gem funktionspointeren i en variabel, og definer en anden funktion, der kalder variablen. I følgende eksempler bruges hændelsen onclick til at lukke et vindue:

    Originalkode:
    <A href=# onclick=window.close>Close this window</A>
    Ændret kode:
    <script>var my_funcptr = window.close;function FunctionPointerInvoker(){    my_funcptr();}</script><A href=# onclick="FunctionPointerInvoker()">Close this window</A>
Status
Denne funktionsmåde er tilsigtet.
Referencer
Yderligere oplysninger om sikkerhedsopdatering MS04-038 finder du ved at klikke på nedenstående artikelnummer for at få vist artiklen i Microsoft Knowledge Base:
834707 MS04-038: Kumulativ sikkerhedsopdatering til Internet Explorer
Vlastnosti

ID článku: 887741 - Poslední kontrola: 12/23/2004 14:43:00 - Revize: 2.0

Microsoft Internet Explorer 5.01, Microsoft Internet Explorer 5.5, Microsoft Internet Explorer (Programming) 6.0

  • kbtshoot kbprb KB887741
Váš názor