Мой div не существует после загрузки моего пикселя
У меня есть пиксель, и когда я его загружаю, он говорит:
a call to document.write() from an asynchronously-loaded external script was ignored
а затем отобразится:
document.getElementById('gospixel') is null
Вот мой пиксельный код:
<script name="gospix" src="http://www.example.com/p/gospixel.js">
и в этом файле:
gos_f=42;
gos_a1='a2';
gos_u=window.location.href;
gos_k='6gZYlfy7Y7Q';
gos_rt='3_s';
document.write(unescape("%3Cscript src='http://example.com/p/gosuna.js' type='text/javascript'%3E%3C/script%3E"));
Спасибо за вашу помощь!
Ответы
Ответ 1
Не используйте document.write. посмотреть эту тему: Почему document.write считается "плохой практикой" ?
Вместо этого используйте динамический объект, например document.createElement и appendChild.
http://www.dustindiaz.com/add-and-remove-html-elements-dynamically-with-javascript/
Это приведет к вашей ошибке.
Ответ 2
очевидно, браузер игнорирует автоврит из импорта (по соображениям безопасности, поэтому импортированный script не может изменить вашу страницу), поэтому вы должны попробовать сделать вставку по требованию
в gospixel замените последнюю строку на
function insertScript(){
document.write(unescape("%3Cscript src='http://example.com/p/gosuna.js' type='text/javascript'%3E%3C/script%3E"));
}
а затем в другой части html
<script type="text/javascript">
insertScript();
</script>