Загрузка страницы не прекращается

260
26 марта 2017, 05:36

Всем доброго времени суток. На одном из сайтов заметил, что не прекращается загрузка страницы(индикатор в заголовке вкладки не перестает вращаться). Выяснил, что причина - записи в iframe через document.write(). Код(упрощенно) примерно такой(зависание можно проверить локально):

    <!doctype html>
    <html>
    <meta charset = 'UTF-8'>
    <body>
    <iframe id="k_c0"></iframe>
    <script language="JavaScript">
      var d;
      d=document.getElementById('k_c0').contentDocument;
      d.write('<div> 234</div>');
   </script>
   </body>
   </html>

Какие процессы вызывают крутящийся индикатор? И почему они возникают? Заранее спасибо.

Answer 1

Как сказано в learn.javascript.ru

Метод document.write(str) работает только пока HTML-страница находится в процессе загрузки. Он дописывает текст в текущее место HTML ещё до того, как браузер построит из него DOM.

document.getElementById('k_c0').contentDocument - возвращает document. d.write - записывает в document фрейма и не может записать. Соответственно не может загрузить страницу полностью. Вот она и крутится.

READ ALSO
React js формирование JSX на основе строки

React js формирование JSX на основе строки

Добрый деньИспользую React JS

269
Не получается реализовать таймеры Pomodoro

Не получается реализовать таймеры Pomodoro

В приложении не получается создать таймеры обратного отсчетаОдин на время работы а другой га время отдыха

249