2011-03-24 10 views
27

estoy consiguiendo error sólo en IE7 como document.body es nulo, wehn puedo depurar editor de script de Microsoft conseguir error en la línea siguientes aparatos: es decirdocument.body.appendChild (i)

document.body.appendChild (i) código:

function nm_eraseCookie(name){ 
    nm_createCookie(name,"",-1) 
} 
var i=document.createElement('IMG'); 
i.src='//e.netmng.com/pixel/?aid=403'; 
i.width=1; 
i.height=1; 
document.body.appendChild(i); 
nm_createCookie('nm_belgacom_bt', 
escape('tv1=bun_intvtel;tv2=;tv3=;phone1=hbs_discoveryline;phone2=hbs_classical_line;phone3=;inet1=bun_nettvmob;inet2=hbs_adsl_res_plus;inet3=hbs_adsl_res_go;nm_banner=;nm_popin=hbs_discoveryline;'),183); 

¿me infomr lo que tengo que hacer para resolver este problema.

+4

¿Por qué no se utiliza una versión que no se minified para depurar? – alex

Respuesta

12

Está funcionando. Basta con modificar a NULL Registro:

si (document.body! = Null) { document.body.appendChild (elemento); }

La sugerencia de Pointy es buena; puede funcionar, pero no lo intenté.

50

Usted podría intentar

document.getElementsByTagName('body')[0].appendChild(i); 

Ahora que no va a hacer ningún bien si el código se ejecuta en el <head>, y en funcionamiento antes de la <body> incluso se ha visto por el navegador. Si no quiere meterse con los controladores "onload", intente mover su bloque <script> al final del documento en lugar del <head>.

+3

Bueno señalando ejecutar el script en ''. Seguí obteniendo un 'No puedo llamar método' appendChild 'of null' debido a esto. Moverlo al final del documento lo arregló porque '' no existía cuando se estaba ejecutando en el encabezado. – pbojinov

-4

Sé que no es con js simple, pero tuve un problema similar y utilicé jquery. Acabo de poner todo de mi código dentro de una función ready() Documento

$(document).ready(function() { 
    //your code goes here 
}); 

espero que ayude

+0

No resuelve el problema. –