Internet Explorer non esegue codice se un gestore eventi è impostato in modo da fare riferimento direttamente a una funzione DOM dopo l'installazione dell'aggiornamento per la protezione MS04-038

Traduzione articoli Traduzione articoli
Identificativo articolo: 887741 - Visualizza i prodotti a cui si riferisce l?articolo.
Espandi tutto | Chiudi tutto

Sommario

L'aggiornamento per la protezione 834707 comprende una modifica alla modalità di gestione dei puntatori a funzioni in Internet Explorer. Questa modifica della funzionalità si verifica quando un gestore eventi punta direttamente a una funzione DOM (Document Object Model). In questo articolo viene descritto il problema e diversi metodi alternativi per risolverlo.

Sintomi

Microsoft Internet Explorer non esegue il codice sul lato client associato a un gestore eventi impostato direttamente su una funzione DOM.

Cause

L'aggiornamento per la protezione MS04-038 comprende una modifica alla modalità di gestione dei puntatori a funzioni in Internet Explorer. Questa modifica della funzionalità si verifica quando un gestore eventi punta direttamente a una funzione DOM.
on<event> = DOM function pointer

Workaround

Per evitare questa modifica alla funzionalità di Internet Explorer, utilizzare uno dei seguenti metodi:
  • Richiamare direttamente la funzione utilizzando JavaScript:

    Codice originale:
    <A href=# onclick=window.close>Close this window</A>
    Codice corretto:
    <A href=# onclick="window.close()">Close this window</A>
  • Memorizzare il puntatore della funzione in una variabile e definire un'altra funzione per richiamare la variabile. Negli esempi riportati di seguito viene utilizzato l'evento onlick per chiudere una finestra:

    Codice originale:
    <A href=# onclick=window.close>Close this window</A>
    Codice corretto:
    <script>
    var my_funcptr = window.close;
    
    function FunctionPointerInvoker()
    {
        my_funcptr();
    }
    </script>
    <A href=# onclick="FunctionPointerInvoker()">Close this window</A>
    
    

Status

Si tratta di un problema legato alla progettazione del prodotto.

Riferimenti

Per ulteriori informazioni sull'aggiornamento per la protezione MS04-038, fare clic sul numero dell'articolo della Microsoft Knowledge Base riportato di seguito:
834707 MS04-038: Aggiornamento cumulativo per la protezione di Internet Explorer

Proprietà

Identificativo articolo: 887741 - Ultima modifica: giovedì 23 dicembre 2004 - Revisione: 2.0
Le informazioni in questo articolo si applicano a
  • Microsoft Internet Explorer 5.01
  • Microsoft Internet Explorer 5.5
  • Microsoft Internet Explorer (Programmazione) 6.0
Chiavi: 
kbtshoot kbprb KB887741
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.

Invia suggerimenti

 

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