Внедренный скрипт замедляет работу страниц Google Maps - PullRequest
0 голосов
/ 06 мая 2019

Так что я внедряю html в страницу (расширение написано с angular.js) и на страницах с фреймами карт Google, такими как airbnb, загрузка замедляется.Так что я понятия не имею, как я на это влияю.Есть идеи?

1 Ответ

0 голосов
/ 06 мая 2019

Когда вы загружаете JavaScript от стороннего производителя, вы должны делать это асинхронно.Возможно, вы также захотите загружать свои собственные скрипты асинхронно, но для этой статьи давайте сосредоточимся на сторонних разработчиках.

Для этого есть две причины:

  1. Если сторонняя программа выходит из строяили медленно, ваша страница не будет задерживаться при попытке загрузить этот ресурс.
  2. Это может ускорить загрузку страниц.

В Wufoo мы просто переключились на асинхронныйвставлять фрагмент.Пользователям, которые создают формы с помощью Wufoo и хотят разместить их на своем сайте, теперь рекомендуется использовать его.Мы сделали это именно по тем причинам, указанным выше.Это ответственная вещь для веб-службы, которая просит людей ссылаться на ресурсы на сайте этих служб.

Здесь используется небольшая терминология, которая поможет нам понять общий "асинхронный" термин.

«Блокировка синтаксического анализатора» - Браузер читает ваш HTML-код и, когда дело доходит до него, загружает весь этот ресурс, прежде чем приступить к анализу.Это определенно замедляет загрузку страниц, особенно если скрипт находится в голове или над другими визуальными элементами.Это верно как в старых браузерах, так и в современных браузерах, если вы не используете атрибут async (подробнее об этом позже).Из документов MDN: «В старых браузерах, которые не поддерживают атрибут async, скрипты, вставленные парсером, блокируют синтаксический анализатор ...»

Чтобы предотвратить проблемную блокировку парсера, скрипты могут быть «вставлены сценарием» (т. Е.вставьте другой сценарий с JavaScript), который затем заставляет их выполняться асинхронно (за исключением Opera или Firefox до 4.0).

«Блокировка ресурсов» - Во время загрузки сценария это может предотвратитьдругие ресурсы от загрузки одновременно с этим.IE 6 и 7 делают это, позволяя загружать только один скрипт за раз, и больше ничего.IE 8 и Safari 4 позволяют загружать несколько сценариев параллельно, но блокируют любые другие ресурсы (ссылка).

В идеале мы боремся с обеими этими проблемами и увеличиваем скорость загрузки страницы (как фактической, так и предполагаемой).

https://css -tricks.com / think-async /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...