Использование document.write ()
приведет к поломке веб-страницы - уничтожение и перезапись всей модели DOM - если она вызывается после завершения анализа документа. Это считается плохим использованием document.write ()
и является / было причиной критики многих старых скриптов.
window.onload = function ()
{
document.write("Oops!");
}
В целом, это приемлемо и довольно широко используется во время синтаксического анализа для динамического добавления чего-либо на страницу синхронным способом:
<div>
<script type="text/javascript">
document.write("Well I'll be, your browser supports JavaScript!");
</script>
</div>
Это в основном используется службами публикации рекламы для добавления рекламы на страницу, а также некоторые API Google используй это.
Блокировка страницы , этого достаточно или причина, по которой она используется неправильно.
Когда вы выполняете document.write, как сказал Энди, это синхронно , что означает, что вы должны подождать, прежде чем продолжить работу с остальной страницей.
Я не хочу, чтобы ваш сайт зависал только из-за того, что ваш сервер объявлений не работает. К сожалению, это случай с SO: AD справа используют document.write с использованием сценария с другого сервера, который в случае сбоя блокирует загрузку страницы до истечения времени ожидания. Эта задержка из-за document.write
и медленного (часто стороннего) сервера объявлений далеко слишком часто является причиной медленной загрузки сайта.
Дополнительная напыщенная речь: реклама приносит вам деньги за просмотры, хорошо, вам нужно зарабатывать на жизнь. Но не будьте зависимы от них с технической точки зрения, так как их сервер не работает, ваш сайт FUBAR ... размещайте рекламу без блокировки, есть много способов помимо document.write
для этого.