Javascript загружается последовательно в каждом браузере?
Если у меня есть несколько файлов javascript на странице, будет ли он загружаться последовательно через браузер?
<script src='test1.js'></script>
<script src='test2.js'></script>
<script src='test3.js'></script>
например, если бы тест *.js записывал 1,2 и 3, используя console.log, всегда ли он писал бы 1,2,3 для каждого браузера?
если это не так, есть ли способ сделать это синхронно / последовательно?
2 ответа
Я на самом деле проверил ваш пример в следующих браузерах, каждый из которых загружается последовательно:
- Fire Fox
- IE 7-9
- Хром
- опера
- Сафари
например, если бы тест *.js записывал 1,2 и 3, используя console.log, всегда ли он писал бы 1,2,3 для каждого браузера?
Да, это так.
Браузеры могут загружать скрипты параллельно, но всегда будут выполнять их по порядку. Исключение составляют случаи, когда у вас есть async
или же defer
атрибут установлен на script
тег. Скрипты, создаваемые динамически (через JS), также асинхронны по своей природе.
Помните, что размещение слишком большого количества скриптов на вашей странице может замедлить рендеринг. Если серверу требуется слишком много времени для обслуживания одного из файлов в качестве разметки под script
не будет отображаться, пока скрипт не будет загружен и выполнен. Хорошей практикой является минимизация всех ваших файлов JS в один для производственной среды и использование большего количества тегов сценария с уважительной причиной (например, использование библиотеки, размещенной на CDN).