Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.12.2018, 13:35
Интересующийся
Отправить личное сообщение для Fomax Посмотреть профиль Найти все сообщения от Fomax
 
Регистрация: 23.09.2016
Сообщений: 20

async defer порядок загрузки файлов
проставил async / defer в конце страницы таким образом:

<script defer src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script async src="js/jquery.maskedinput.min.js"></script>
<script async src="js/owl.carousel.min.js"></script>
<script defer src="js/scripts.js"></script>


Правильно ли я рассуждаю:

1) Без этих атрибутов скрипты загружаются один за другим, и пока не загрузиться предыдущий, следующий не начнет загружаться
2) Все 4 скрипта загружаются одновременно
3) первым отработает jquery, независимо от того кто загрузился раньше
4) Следующим отработает либо maskedinput либо owl.carousel, смотря кто из них загрузился раньше.
5) Последним отработает scripts.js, даже если он загрузиться раньше всех

?

Последний раз редактировалось Fomax, 12.12.2018 в 13:45.
Ответить с цитированием
  #2 (permalink)  
Старый 12.12.2018, 13:37
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

http://htmlbook.ru/html/script/async
http://htmlbook.ru/html/script/defer

Сообщение от Fomax
проставил async / defer в конце страницы
Зачем их в конце страницы ставить? Чему помешает загрузка этих скриптом?
Ответить с цитированием
  #3 (permalink)  
Старый 12.12.2018, 13:39
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

Цитата:
Вопрос весьма простой и требует простого ответа - да\нет. Не к чему ссылками кидаться
Перейдите по ссылкам и на ваш весьма простой вопрос найдете весьма простой ответ, заодно поймете как это работает.
Ответить с цитированием
  #4 (permalink)  
Старый 12.12.2018, 13:43
Интересующийся
Отправить личное сообщение для Fomax Посмотреть профиль Найти все сообщения от Fomax
 
Регистрация: 23.09.2016
Сообщений: 20

Вы возможно не поверите, но я перед тем как проставить эти атрибуты, прочитал про них именно там. Но неужели так сложно ответить конкретно? Я лишь хочу узнать, правильно ли я понял или нет. Для вас это скорее всего очевидное элементарное, но не все рождаются с заложенными знаниями и должным пониманием в этой области
Ответить с цитированием
  #5 (permalink)  
Старый 12.12.2018, 14:23
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,138

Сообщение от Fomax Посмотреть сообщение
Правильно ли я рассуждаю:
нет

Кстати по ссылкам чушь выдуманная написана. Лучше в таких вещах смотреть на стандарт
https://www.w3.org/TR/2011/WD-html5-...r-script-defer

Последний раз редактировалось MallSerg, 12.12.2018 в 14:29.
Ответить с цитированием
  #6 (permalink)  
Старый 12.12.2018, 14:55
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

Сообщение от Fomax
1) Без этих атрибутов скрипты загружаются один за другим, и пока не загрузиться предыдущий, следующий не начнет загружаться
Да, исполняться они будут по очереди.
Сообщение от Fomax
2) Все 4 скрипта загружаются одновременно
Нет. Скрипты с атрибутом async должны загружаться параллельно с html страницей, их код должен быть выполнен, как только они загрузятся.
После того как закончился анализ страницы по очереди должны быть загружены и исполнены все deffer-скрипты, независимо от того загрузились и исполнились ли async-скрипты.

Сообщение от MallSerg
Кстати по ссылкам чушь выдуманная написана.
Можете написать в чем чушь заключается?
Ответить с цитированием
  #7 (permalink)  
Старый 12.12.2018, 15:12
Аватар для MallSerg
Профессор
Отправить личное сообщение для MallSerg Посмотреть профиль Найти все сообщения от MallSerg
 
Регистрация: 07.03.2011
Сообщений: 1,138

К примеру
цитата с htmlbook.ru "страница будет загружена полностью"
это не то же самое что "he script is executed when the page has finished parsing."
полная загрузка страницы подразумевает что все скрипты и картинки были загружены тогда и наступает событие window.onload

Так же про asunc
цитата с htmlbook.ru "При наличии атрибута async браузер при возможности запускает скрипт асинхронно."
В стандарте же говорится что скрипт можно загрузить асинхронно не останавливая загрузку и отображение страницы и исполнить когда он загрузится если не указан атрибут defer.
Это бинарные атрибуты и они могут использоваться совместно.

так же в описании отсутствует довольно важное пояснение.
If neither attribute is present, then the script is fetched and executed immediately, before the user agent continues parsing the page.
Ответить с цитированием
  #8 (permalink)  
Старый 12.12.2018, 15:16
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,791

MallSerg, благодарю.
Ответить с цитированием
  #9 (permalink)  
Старый 12.12.2018, 17:45
Интересующийся
Отправить личное сообщение для Fomax Посмотреть профиль Найти все сообщения от Fomax
 
Регистрация: 23.09.2016
Сообщений: 20

Спасибо, господа, за внесенную ясность!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как увеличить скорость загрузки javascript файлов Espey Элементы интерфейса 6 26.06.2017 23:28
распарсить строку json sotik AJAX и COMET 14 24.11.2014 16:06
Добавление файлов к уже выбранным до загрузки на сервер tikki Серверные языки и технологии 1 23.05.2014 16:08
tinyMCE изменения пути загрузки файлов на лету Artemiy Элементы интерфейса 2 13.07.2011 18:01
Всплывающее окно для множественной загрузки файлов Mutagena jQuery 1 27.06.2010 19:35