Sarà capitato spesso di trovare questo misterioso alert durante l’esecuzione di una pagina su IE6 o IE7: la pagina viene eseguita, mostra il suo contenuto e poi puff, scompare!

La spiegazione è quanto mai immediata: un javascript sta cercando di modificare il contenuto dell’oggetto padre rispetto alla chiamata della funzione javascript in questione.

Cosa significa?

  1. <body id="mybody">
  2. <div>
  3. <script language="javascript">
  4. document.getElementById(‘mybody’).innerHTML=‘Hello World!’;
  5. </script>
  6. </div>
  7. </body>

Un javascript dentro il div vuole modificare un attributo del padre (diretto o no che sia).

Come risolvere?

usare l’evento onload del body per modificare se stesso.