Davide Muzzarelli

Sviluppo su IE, errore numero 80004004

published on 12.12.2006 in * livello avanzato, internet, sviluppo software

Come sempre Internet Explorer tortura sviluppatori e utenti fino all’ultimo con messaggi incomprensibili ed errori senza senso.

Questa è la volta dell’errore numero 80004004, la documentazione della Microsoft è carente sulle cause anche perché questo errore sembra essere attribuibile a più tipi di problema.

Il bug affligge le seguenti versioni di Internet Explorer, che sono praticamente tutte quelle degli ultimi dieci anni e passa:

  • Microsoft Internet Explorer 3.0
  • Microsoft Internet Explorer 3.01
  • Microsoft Internet Explorer 3.02
  • Microsoft Internet Explorer 4.0 128-Bit Edition
  • Microsoft Internet Explorer 4.01 Service Pack 2
  • Microsoft Internet Explorer 4.01 Service Pack 1
  • Microsoft Internet Explorer 4.01 Service Pack 2
  • Microsoft Internet Explorer 5.0
  • Microsoft Internet Explorer 5.01
  • Microsoft Internet Explorer 5.5
  • Microsoft Visual Basic, Scripting Edition 4.0
  • Microsoft Visual Basic, Scripting Edition 5.0
  • Microsoft JScript 4.0
  • Microsoft JScript 5.0
  • Microsoft Visual Basic 6.0 Learning Edition
  • Microsoft Visual Basic 6.0 Professional Edition
  • Microsoft Visual Basic 6.0 Enterprise Edition
  • Microsoft Visual Basic 6.0 Enterprise Edition Service Pack 3

A volte la Microsoft lo attribuisce a Visual Basic, altre volte al suo Java Script, altre volte ad ActiveX; io credo invece che il problema riguardi una libreria in comune tra questi linguaggi.

In particolare, nello sviluppo web, il problema nasce dal fatto di cercare un elemento contenuto in una tabella o in un DIV nello stesso punto in cui si trova questo elemento.

L’errore viene generato con uno script del genere:

...<table>    <tr>        <td>            <div id="foo" class="bar">foobar</div>            <script language="javascript">                var obj = document.getElementById('foo');                var classes = obj.getAttribute('class');            </script>        </td>    </tr>...

Come si può vedere lo script è contenuto ed eseguito all’interno della stessa cella e tabella dell’elemento da cercare, questo solleva l’errore.

Attenzione a chi usa le API di Google, in particolare Google Maps, molte persone hanno riscontrato lo stesso errore senza aver trovato una soluzione (quella che ho appena suggerito). E’ per tale problema che Google consiglia di caricare gli script con un <body onload=”…”>, anche se in alcuni casi questo non è proprio possibile.

Per risolvere è sufficiente lasciare chiudere la tabella eseguendo lo script al termine della pagina. Nel caso in cui non si possa trovare un’alternativa il problema ricade ancora una volta sulle spalle dello sviluppatore che dovrà eliminare una funzionalità del proprio sito a svantaggio dell’utente. Grazie Microsoft…

PS: in alcuni casi l’errore non viene segnalato esplicitamente da Internet Explorer, bisogna provare con un’altra versione del browser o da un’altra macchina.

Comments

8 Risposte to “Sviluppo su IE, errore numero 80004004”. Tutti gli utenti che hanno commentato hanno accettato le note legali.
  1. chirale scrive:

    Grande, ottimo suggerimento! Avevo un problema sia su IE 6 che sul 7, è bastato spostare il tag script con dentro la funzione di modifica della tabella a fondo pagina (fuori dalla tabella) e non ha più dato problemi!

  2. Davide Muzzarelli scrive:

    Lieto di esserti stato di aiuto ;)

  3. Luca scrive:

    Ciao davide, ho un problema simile sul mio sito: http://www.comisonews.com. Potresti darmi una mano?
    Grazie mille

  4. Davide Muzzarelli scrive:

    Luca, potresti essere più preciso?

  5. Luca scrive:

    Ho risolto…il problema era dato da un componente di joomla. Grazie!

  6. emeli.ruggeri scrive:

    ciao Davide, sono Emeli. ho questo l'errore 80004004 quando cerco di installare windows live messenger. purtroppo il mio pc è stato formattato per via di un virus. da allora non riesco più ad installare nulla. nemmeno Incredibilmail. puoi aiutarmi perfavore??? NON SO PIù COME COMPORTARMI. Da premettere che ho provato di tutto, anche sbloccando il popup e il firewall, ma niente non ha funzionato… AIUTAMI…….

  7. mariia scrive:

    il mio computer mentre naviga si blocca e viene fuori errore e poi come maifaccio fatica a tornare sul sito

  8. Davide Muzzarelli scrive:

    L’errore 80004004 riguarda i programmatori di siti web, non gli utenti dei siti.
    Emeli e Martina, gli errori che avete possono essere risolti solo chiamando un tecnico a riparare il vostro computer.

Dicci Cosa Pensi

Lascia un commento qui sotto...

Confermando l'invio accetti di aver letto le note legali e di aderire ad esse.