Internet Explorer n'exécute pas le code lorsqu'un gestionnaire d'événements est configuré pour faire directement référence à une fonction DOM après l'installation de la mise à jour de sécurité MS04-038

Cet article peut contenir des liens vers des informations en langue anglaise (pas encore traduites).
Résumé
La mise à jour de sécurité 834707 modifie la façon dont Internet Explorer traite les pointeurs de fonction. Cette modification de fonctionnalité se produit lorsqu'un gestionnaire d'événements pointe directement vers une fonction DOM (Document Object Model). Cet article décrit ce problème et propose plusieurs solutions de contournement.
Symptômes
Microsoft Internet Explorer n'exécute pas de code côté client associé à un gestionnaire d'événements configuré directement vers une fonction DOM.
Cause
La mise à jour de sécurité MS03-038 modifie la façon dont Internet Explorer traite les pointeurs de fonction. Cette modification de fonctionnalité se produit lorsqu'un gestionnaire d'événements pointe directement vers une fonction DOM.
on<event> = DOM function pointer
Contournement
Pour contourner cette modification de la fonctionnalité d'Internet Explorer, appliquez l'une des méthodes suivantes :
  • Invoquez directement la fonction à l'aide de code JavaScript :

    Code d'origine :
    <A href=# onclick=window.close>Close this window</A>
    Code corrigé :
    <A href=# onclick="window.close()">Close this window</A>
  • Stockez le pointeur de fonction dans une variable et définissez une autre fonction pour invoquer cette variable. Les exemples suivants utilisent l'événement onclick pour fermer une fenêtre :

    Code d'origine :
    <A href=# onclick=window.close>Close this window</A>
    Code corrigé :
    <script>var my_funcptr = window.close;function FunctionPointerInvoker(){    my_funcptr();}</script><A href=# onclick="FunctionPointerInvoker()">Close this window</A>
Statut
Ce comportement est voulu par la conception même du produit.
Références
Pour plus d'informations sur la mise à jour de sécurité MS04-038, cliquez sur le numéro ci-dessous pour afficher l'article correspondant dans la Base de connaissances Microsoft.
834707 MS04-038 : Mise à jour de sécurité cumulative pour Internet Explorer
Propriétés

ID d'article : 887741 - Dernière mise à jour : 12/15/2004 17:18:36 - Révision : 2.0

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

  • kbtshoot kbprb KB887741
Commentaires