#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;