O Internet Explorer não executa código quando um processador de eventos está configurado para referenciar directamente uma função do DOM depois de instalar a actualização de segurança MS04-038

Traduções de Artigos Traduções de Artigos
Artigo: 887741 - Ver produtos para os quais este artigo se aplica.
Expandir tudo | Reduzir tudo

Sumário

A actualização de segurança 834707 inclui uma alteração ao modo como o Internet Explorer processa apontadores para funções. Esta alteração de funcionalidade ocorre quando um processador de eventos aponta directamente para uma função do modelo de objectos de documento (DOM, Document Object Model). Este artigo descreve o problema e fornece várias formas de contornar o mesmo.

Sintomas

O Microsoft Internet Explorer não executa código do lado do cliente associado a um processador de eventos que esteja directamente configurado para uma função do DOM.

Causa

A actualização de segurança MS04-038 inclui uma alteração ao modo como o Internet Explorer processa apontadores para funções. Esta alteração de funcionalidade ocorre quando um processador de eventos aponta directamente para uma função do DOM.
on<event> = DOM function pointer

Como contornar

Para contornar esta alteração na funcionalidade do Internet Explorer, utilize um dos seguintes métodos:
  • Invocar directamente a função utilizando JavaScript:

    Código original:
    <A href=# onclick=window.close>Fechar esta janela</A>
    Código corrigido:
    <A href=# onclick="window.close()">Fechar esta janela</A>
  • Armazenar o apontador para função numa variável e definir outra função para invocar a variável. Os exemplos que se seguem utilizam o evento onclick para fechar uma janela:

    Código original:
    <A href=# onclick=window.close>Fechar esta janela</A>
    Código corrigido:
    <script>
    var my_funcptr = window.close;
    
    function FunctionPointerInvoker()
    {
        my_funcptr();
    }
    </script>
    <A href=# onclick="FunctionPointerInvoker()">Fechar esta janela</A>
    
    

Ponto Da Situação

Este comportamento ocorre por predefinição.

Referências

Para obter informações adicionais sobre a actualização de segurança MS04-038, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft (KB, Microsoft Knowledge Base):
834707 MS04-038: Actualização de segurança cumulativa para o Internet Explorer

Propriedades

Artigo: 887741 - Última revisão: 17 de dezembro de 2004 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft Internet Explorer 5.01
  • Microsoft Internet Explorer 5.5
  • Microsoft Internet Explorer (Programação) 6.0
Palavras-chave: 
kbtshoot kbprb KB887741

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com