Сценарій фактично не використовується, поки HTML не закінчиться завантаження - скрипт не може змінити DOM, поки HTML не завантажиться. document.ready
чекає, коли DOM завантажиться. Отже, немає сенсу зберігати такі важливі речі, як таблиці стилів.
Розташуйте сценарії внизу сторінки (перед </body>
тегом), щоб замовити HTML та CSS користувачеві якнайшвидше. Веб-переглядач зможе візуалізувати сторінку набагато швидше, і тоді сценарії можна буде завантажувати, а не залишати порожню сторінку, щоб користувач дивився на час очікування завантаження скриптів.
Поки браузер поступово відображає сторінку, якщо вона потрапляє на тег сценарію (тобто зовнішній файл Javascript), все зупиняється . Сценарії мають право на вихід - під час завантаження сценарію браузер не запускає жодного іншого завантаження. тобто зображення та таблиці стилів та будь-яке інше паралельне завантаження буде заблоковано, навіть на різних іменах хостів.
Недоліком розміщення скриптів у нижній частині сторінки є те, що через те, що сторінка буде відображатися до ініціалізації сценаріїв, особливо швидкі кліки зможуть взаємодіяти з вашим сайтом до того, як Javascript буде готовий.
Примітка: навпаки стосується таблиць стилів - таблиці стилів у нижній частині сторінки блокують прогресивне відображення до тих пір, поки не будуть завантажені всі таблиці стилів і переміщення їх до документа HEAD
усуне проблему.
Існує акуратний трюк, щоб завантажити javascript, не змушуючи користувача чекати, ви можете створити <script/>
елемент за допомогою createElement()
методу DOM і додати його на сторінку безпосередньо перед закриваючим </body>
тегом:
var oScript = document.createElement("script");
oScript.src = "/path/to/my.js";
document.body.appendChild(oScript);
Браузер не починає завантажувати сценарій js, поки новий <script/>
елемент фактично не буде доданий на сторінку. Після завершення завантаження браузер інтерпретує код Javascript, що міститься в ньому.