У меня есть пара вопросов об атрибутах async
и defer
для тега <script>
, который, насколько я понимаю, работает только в браузерах HTML5.
Один из моих сайтов имеет два внешних файла JavaScript, которые в настоящее время находятся над тегом </body>
; первый jquery, полученные из google и второй - локальный внешний script.
В отношении скорости загрузки сайта
-
Есть ли преимущества в добавлении
async
к двум сценариям, которые у меня есть в нижней части страницы? -
Будет ли какое-либо преимущество в добавлении опции
async
к двум сценариям и помещению их в верхнюю часть страницы в<head>
? - Это означает, что они загружаются при загрузке страницы?
- Я предполагаю, что это вызовет задержки для браузеров HTML4, но ускорит ли загрузка страниц для браузеров HTML5?
Используя <script defer src=...
- Загрузил бы два скрипта внутри
<head>
с атрибутомdefer
с тем же эффектом, что и скрипты перед</body>
? - Вновь я предполагаю, что это замедлит браузер HTML4.
Используя <script async src=...
Если у меня есть два сценария с async
включен
- Будут ли они загружаться одновременно?
- Или по одному с остальной частью страницы?
- Значит ли порядок скриптов становится проблемой? Например, один script зависит от другого, поэтому если загрузка выполняется быстрее, вторая может выполняться неправильно и т.д.
Наконец, я лучше всего оставляю вещи так, как они есть до тех пор, пока HTML5 не будет использоваться чаще?