@reech

Почему не работает document.write во внешнем js файле?

Добрый день. Если на странице внутри body вставить код:
<script>document.write(123);</script>
то все работает, появляется 123.
Но когда этот код выношу во внешний js файл и пишу на странице:
<script type="text/javascript" src="//extern-domain/1.js" async="1"></script>

Файл 1.js содержит document.write(123);
То ничего не отрабатывает, ошибок нет и текста 123 тоже нет. Можете подсказать что не так делаю?
  • Вопрос задан
  • 2754 просмотра
Решения вопроса 1
Petroveg
@Petroveg
Миром правят маленькие с#@&ки
Вы определили атрибут async. Рекомендую почитать, что делают defer и async.

При выполнении такого асинхронно загружаемого скрипта потребуется переписать всё распарсенное ранее дерево. Многие браузеры, во избежание этой глупости, выдадут вам примерно следующее:
Вызов document.write() из асинхронно-загруженного внешнего сценария был проигнорирован.

В любом случае, использование document.write — совсем не комильфо. И смотрите почаще в консоль.
Ответ написан
Пригласить эксперта
Ответы на вопрос 4
ILoveYAnny
@ILoveYAnny
Я предполагаю, что нужно повешать обработчик загрузки страницы, document.onload внутри которого объьявить функцию, в которой будет заключаться
Ответ написан
lexxpavlov
@lexxpavlov
Программист, преподаватель
я тоже сталкивался с этим. Удалённые скрипты должны работать через element.innerHTML, а не через document.write. А так как у меня был не мой скрипт, то я сделал так - я переопределил document.write на свою реализацию, которая как раз и делала element.innerHTML.
Ответ написан
bootd
@bootd
Гугли и ты откроешь врата знаний!
Извините, но утверждение что "Удалённые скрипты должны работать через element.innerHTML" - это бред. Он и так и так нормально все выводит.
Так же хотелось бы узнать, а почему у вас в пути, в начале 2 слеша? К тому же, попробуйте вывести alert(); Если он выводится, то смотрите свой код, может где-то что-то не так, если нет, то возможно браузер вообще не загружает файл
Ответ написан
miraage
@miraage
Старый прогер
Чем appendChild не угодил?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 03:54
1500 руб./за проект
22 нояб. 2024, в 02:56
10000 руб./за проект
22 нояб. 2024, в 00:55
500 руб./за проект