Подтвердить что ты не робот

Document.body.appendChild(я)

Я получаю ошибку только в IE7, так как document.body является нулем; при отладке с помощью редактора сценариев Microsoft я получаю сообщение об ошибке в следующей строке: то есть

document.body.appendChild(i)

Код:

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);

Можете ли вы сообщить мне, что мне нужно сделать, чтобы решить эту проблему?

4b9b3361

Ответ 1

Это работает. Просто измените на пустую проверку:

if(document.body != null){
    document.body.appendChild(element);
}

Острое предложение хорошо; это может сработать, но я не пытался.

Ответ 2

Вы можете попробовать

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

Теперь, когда вам не будет хорошо, если код запущен в <head> и работает до, браузер <body> даже просматривается браузером. Если вы не хотите взаимодействовать с обработчиками onload, попробуйте переместить блок <script> в самый конец документа вместо <head>.

Ответ 3

В 2019 году вы можете использовать querySelector для этого.

Поддерживается большинством браузеров (https://caniuse.com/#search=querySelector)

document.querySelector('body').appendChild(i);

Ответ 4

Может также захотеть использовать "documentElement":

var elem = document.createElement("div");
elem.style = "width:100px;height:100px;position:relative;background:#FF0000;";
document.documentElement.appendChild(elem);

Ответ 5

Я знаю, что это не с просто js, но у меня была аналогичная проблема, и я использовал jquery. Я просто поместил весь свой код внутри функции ready() документа

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

Я надеюсь, что это поможет