Отложить синтаксический анализ файлов JavaScript

#javascript #html #javascript-events

#javascript #HTML #dom-события

Вопрос:

Я читал, что отсрочка файлов JavaScript приводит к плавному открытию страницы и сокращению времени загрузки ….. используя:

 <script type="text/javascript" defer="defer">
alert(document.getElementById("p1").firstChild.nodeValue);
</script> 
<script type="text/javascript" defer="defer">
alert(document.getElementById("p1").firstChild.nodeValue);
</script> 
<script type="text/javascript" defer="defer">
alert(document.getElementById("p1").firstChild.nodeValue);
</script>
  

Я имею в виду «отложить» в приведенном выше коде, но я читал, что это работает только в IE. Существует ли какой-либо другой метод для отсрочки синтаксического анализа JS? Я уже сжал его.

Комментарии:

1. Вы могли бы переместить менее важные скрипты в нижнюю часть страницы.

Ответ №1:

Вы могли бы просто удалить 2 элемента script и добавить onload в первый. В этой функции загрузки вы можете записать элементы сценария в dom, и они будут загружены асинхронно. Проверьте эту ссылку: Динамическая загрузка javascript

Ответ №2:

Я должен прикрепить событие к window.onload , которое срабатывает при загрузке окна.

пример:

 function deferMethod() {
  // you're code here
}

// Check for browser support of event handling capability
if (window.addEventListener)
  window.addEventListener("load", deferMethod, false);
else if (window.attachEvent)
  window.attachEvent("onload", deferMethod);
else 
  window.onload = deferMethod;