Kod körs inte i Internet Explorer när en händelsehanterare refererar direkt till en DOM-funktion efter installation av säkerhetsuppdateringen MS04-038

Sammanfattning
Genom säkerhetsuppdatering 834707 förändras hanteringen av funktionspekare i Internet Explorer. Förändringen inträffar när en händelsehanterare pekar direkt på en DOM-funktion (Document Object Model). I den här artikeln beskrivs problemet och några olika lösningar på det.
Symptom
I Microsoft Internet Explorer körs inte kod på klientsidan som är associerad med en händelsehanterare som är direkt inställd på en DOM-funktion.
Orsak
Genom säkerhetsuppdateringen MS04-038 förändras hanteringen av funktionspekare i Internet Explorer. Förändringen inträffar när en händelsehanterare pekar direkt på en DOM-funktion:
on<event> = DOM function pointer
Workaround
Undvik problemet med någon av följande metoder:
  • Anropa funktionen direkt med JavaScript:

    Ursprunglig kod:
    <A href=# onclick=window.close>Close this window</A>
    Fast kod:
    <A href=# onclick="window.close()">Close this window</A>
  • Lagra funktionspekaren i en variabel och definiera en annan funktion för att anropa variabeln. I följande exempel används onclick-händelsen för att stänga ett fönster:

    Ursprunglig kod:
    <A href=# onclick=window.close>Close this window</A>
    Fast kod:
    <script>var my_funcptr = window.close;function FunctionPointerInvoker(){    my_funcptr();}</script><A href=# onclick="FunctionPointerInvoker()">Close this window</A>
Status
Detta är avsiktligt.
Referenser
Om du vill veta mer om säkerhetsuppdateringen MS04-038 klickar du på följande artikelnummer och läser artikeln i Microsoft Knowledge Base:
834707 MS04-038: Kumulativ säkerhetsuppdatering för Internet Explorer
Egenskaper

Artikel-id: 887741 – senaste granskning 12/23/2004 14:59:14 – revision: 2.0

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

  • kbtshoot kbprb KB887741
Feedback