Външни скриптове, редът на изпълнение

Това поведение се нарича "синхронни". Като правило, това е съвсем нормално, но има една важна последица.

Ако сценарият - външен, че докато браузърът няма да го изпълни, тя няма да се покаже част на страницата отдолу.

Това означава, че в такъв документ, докато не бъде зареден и изпълнен big.js. съдържание Тя ще бъде скрита:

И тук въпросът - наистина ли го искаш? Това е, дали останалата част от страницата не може да се докаже, преди да заредите сценария?

Има ситуации, в които не просто не искат закъснение, но това е още по-опасно.

И какво, ако сървърът за зареждане на външен скрипт е претоварен? Посетителят в този случай може да се чака много дълго време!

Ето един пример, с подобен сценарий (на стойност изкуствено забавяне, за да изтеглите):

Можете да поставите всички тези скриптове в долната част на страницата - това ще намали проблема, но не се отървете от него напълно, ако няколко скриптове. Да предположим, че в края на страница 3 на сценария, а първият от тях се забавя - оказва се, другите две ще се чака - много лошо.

Браузърът също идва на скриптове, намиращи се в долната част на страницата, те ще бъдат заредени само когато цялата страница да се зареди. И това не винаги е правилно. Така например, на гишето посещава най-точно работата, ако нейното натоварване по-рано.

Ето защо, "да се постави на скриптове под" - не най-доброто решение.

За да се реши този проблем фундаментално ще помогне атрибути асинхронен или разсрочат:

С подкрепата на всички браузъри, освен IE9-. Сценарий за да се управлява напълно асинхронно. Това означава, че когато открие , те ще бъдат игнорирани.

Същият пример с асинхронен:

Когато стартирате ще видите, че цялата страница е била показана веднага, а сигнал от външен скрипт ще се появи по-късно, когато сценарият е заредена.

Тези качества са за дълго време ", за да"

Преди да включите външен маркер

  • Специални атрибути асинхронен и да отложи използва за докато не се зареди външен скрипт - браузъра, за да се покаже на останалата (след него) на страницата. Без тях, това не се случва.
  • Разликата между асинхронен и се отложи. отложи атрибут запазва относителната последователност на скриптове и асинхронен - ​​не. В допълнение, се отложи винаги изчаква, докато цялата HTML-документ ще бъде готов и асинхронен - ​​не.
  • Решавам пъзели, за да се уверите, че сте разбрали всичко правилно.