2009-09-07 27 views
7

Non riesco a scoprire quale sia il problema e perché continuo a ricevere questo errore in Internet Explorer 8, in quanto è l'unico errore che sto ricevendo. Qualche idea su cosa significhi o una soluzione semplice? Non ho notato alcun problema con il mio codice, è solo il messaggio che mi infastidisce.Errore di analisi HTML

Dettagli degli errori di pagina Web.

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729) timestamp: Mon, 7 settembre 2009 19:11:13 GMT

Message: HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917) 
Line: 0 
Char: 0 
Code: 0 
+2

Suona come si sta modificando elementi DOM prima che siano disponibili in modo affidabile. – meandmycode

+0

Cosa significa in realtà? – Homework

+0

Mostraci il codice. –

risposta

7

la risposta è lì l'errore - KB927917 dice:

Questo problema si verifica perché un elemento HTML contenitore secondario contiene lo script che tenta di modificare l'elemento contenitore genitore del contenitore figlio . Lo script tenta di modificare l'elemento contenitore principale utilizzando o il metodo innerHTML o il metodo appendChild .

Ad esempio, questo problema può verificarsi se un elemento DIV è un contenitore bambino in un elemento BODY, e un blocco di script nel l'elemento DIV tenta di modificare l'elemento corpo che è un contenitore padre per la Elemento DIV.

3

Il messaggio di errore visualizzato indica "KB927917". Questo è un riferimento a una voce nella knowledge base di Microsoft.

In particolare: Why do I receive an "Operation aborted" error message when I visit a Web page in Internet Explorer?

In quella pagina, non ci sono informazioni per entrambi gli utenti finali e sviluppatori; quelli potrebbero aiutarti a capire che cosa sta causando questo problema.
Questa parte sembra interessante (citando):

Questo problema si verifica perché un bambino elemento contenitore HTML contiene lo script che cerca di modificare l'elemento contenitore padre del contenitore figlio. Lo script tenta di modificare l'elemento contenitore principale utilizzando o il metodo innerHTML o il metodo appendChild .

Ad esempio, questo problema può verificarsi se un elemento DIV è un contenitore bambino in un elemento BODY, e un blocco di script nel l'elemento DIV tenta di modificare l'elemento corpo che è un contenitore padre per la Elemento DIV.


C'è anche un link a questo blog: What Happened to Operation Aborted?

Su quella voce, c'è esattamente il messaggio che si stanno ottenendo (che sembra essere il modo in cui le offerte IE8 con questo problema - in cui le versioni precedenti mostravano solo una sorta di finestra di avviso e una pagina vuota); così, potrebbe anche voi ;-)

1

Questa soluzione funziona bene:

setTimeout(function() { 
    "scary DOM manipulations" 
}, 0);