страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ

Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Javascript Ρ„Π°ΠΉΠ» ΠΊ html Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ?

страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ. myphoto. страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ Ρ„ΠΎΡ‚ΠΎ. страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ-myphoto. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° myphoto. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ html-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈ javascript ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π² Π½Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ. Код javacript ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π²Π½ΡƒΡ‚Ρ€ΠΈ html-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Ρ‚Π°ΠΊ ΠΈ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° *.js.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ html-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈ javascript ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π² Π½Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ. Код javacript ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π²Π½ΡƒΡ‚Ρ€ΠΈ html-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Ρ‚Π°ΠΊ ΠΈ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° *.js.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, которая ΠΎΡ‡Π΅Π½ΡŒ часто появляСтся Ρƒ Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ: Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ javacript-ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ» ΠΊ html Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ?

Π’ этой нСбольшой Π·Π°ΠΌΠ΅Ρ‚ΠΊΠ΅ ΠΌΡ‹ рассмотрим, ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

ВсС ΠΌΠΎΠΈ ΡƒΡ€ΠΎΠΊΠΈ ΠΏΠΎ Javascript здСсь.

ΠŸΡƒΡΡ‚ΡŒ содСрТимоС Ρ„Π°ΠΉΠ»Π° html Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

НичСго лишнСго. Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ:

Π’.Π΅. этот скрипт просто Π΄ΠΎΠ»ΠΆΠ΅Π½ вывСсти Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ с сообщСниСм, Ρ‡Ρ‚ΠΎ «Javacript ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½» ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° html-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. Π˜Ρ‚Π°ΠΊ, рассматриваСм Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ скрипта.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 1. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€ΠΈ html-Ρ„Π°ΠΉΠ»Π°.

ДСлаСтся это с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ конструкции:

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ, Ρ‡Ρ‚ΠΎ всС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚:

страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ. 1574930702231 5ddf890ea5e8d. страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ Ρ„ΠΎΡ‚ΠΎ. страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ-1574930702231 5ddf890ea5e8d. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 1574930702231 5ddf890ea5e8d. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ html-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈ javascript ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π² Π½Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ. Код javacript ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π²Π½ΡƒΡ‚Ρ€ΠΈ html-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Ρ‚Π°ΠΊ ΠΈ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° *.js.

ΠžΡ‚Π»ΠΈΡ‡Π½ΠΎ. Окно с сообщСниСм появилось.

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ 2. ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ внСшнСго Ρ„Π°ΠΉΠ»Π° скрипта с ΠΊΠΎΠ΄ΠΎΠΌ.

Если javascript-ΠΊΠΎΠ΄ находится Π²ΠΎ внСшнСм Ρ„Π°ΠΉΠ»Π΅, Ρ‚ΠΎ способ Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ нСсколько Π΄Ρ€ΡƒΠ³ΠΈΠΌ. ΠŸΡƒΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ Ρ„Π°ΠΉΠ» называСтся script.js. О Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ javascript Ρ„Π°ΠΉΠ» я писал здСсь.

Π’ ΠΈΡ‚ΠΎΠ³Π΅, ΠΈΠΌΠ΅Π΅ΠΌ Π΄Π²Π° Ρ„Π°ΠΉΠ»Π° index.html ΠΈ script.js, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ находятся Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠ΅.

страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ. 1574930774097 5ddf89566f077. страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ Ρ„ΠΎΡ‚ΠΎ. страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ-1574930774097 5ddf89566f077. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 1574930774097 5ddf89566f077. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ html-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈ javascript ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π² Π½Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ. Код javacript ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π²Π½ΡƒΡ‚Ρ€ΠΈ html-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Ρ‚Π°ΠΊ ΠΈ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° *.js.

Как Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ скрипт ΠΊ html Ρ„Π°ΠΉΠ»Ρƒ? Π’ этом случаС Π½ΡƒΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ тэгом

Об адрСсах ΠΈ ΠΊΠ°ΠΊ ΠΈΡ… ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π²Ρ‹ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ информация здСсь.

Π’Π°ΠΊ ΠΊΠ°ΠΊ Ρ„Π°ΠΉΠ» скрипта script.js находится Π² Ρ‚ΠΎΠΉ ΠΆΠ΅ ΠΏΠ°ΠΏΠΊΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ Ρ„Π°ΠΉΠ» index.html, Ρ‚ΠΎ html-ΠΊΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ:

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, скрипты ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π² области Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. Если всС сдСлано ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Ρ‚ΠΎ Π²Ρ‹ Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ смоТСтС ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ с надписью, Ρ‡Ρ‚ΠΎ «javascript ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½». Π­Ρ‚ΠΎ Π΄Π²Π° основных способа, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ javascript ΠΊ html Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π’Π½Π΅ΡˆΠ½ΠΈΠ΅ скрипты, порядок исполнСния

ΠœΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π» Π½Π° этой страницС устарСл, поэтому скрыт ΠΈΠ· оглавлСния сайта.

Π‘ΠΎΠ»Π΅Π΅ новая информация ΠΏΠΎ этой Ρ‚Π΅ΠΌΠ΅ находится Π½Π° страницС https://learn.javascript.ru/script-async-defer.

Если JavaScript-ΠΊΠΎΠ΄Π° ΠΌΠ½ΠΎΠ³ΠΎ – Π΅Π³ΠΎ выносят Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² HTML:

Π—Π΄Π΅ΡΡŒ /path/to/script.js – это Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ, содСрТащСму скрипт (ΠΈΠ· корня сайта).

Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ сам скачаСт скрипт ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚.

МоТно ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠ»Π½Ρ‹ΠΉ URL, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡƒΡ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ страницы. НапримСр, src=»https://learn.javascript.ru/lodash.js» ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ» ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ нСсколько скриптов, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ нСсколько Ρ‚Π΅Π³ΠΎΠ²:

Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π² HTML ΠΏΠΈΡˆΡƒΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ самыС простыС скрипты, Π° слоТныС выносят Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Ρ„Π°ΠΉΠ».

Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ скачаСт Π΅Π³ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π· ΠΈ Π² дальнСйшСм, ΠΏΡ€ΠΈ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΉ настройкС сСрвСра, Π±ΡƒΠ΄Π΅Ρ‚ Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠ· своСго кСша.

Благодаря этому ΠΎΠ΄ΠΈΠ½ ΠΈ Ρ‚ΠΎΡ‚ ΠΆΠ΅ большой скрипт, содСрТащий, ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρƒ, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… страницах Π±Π΅Π· ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ с сСрвСра.

Π’ ΠΎΠ΄Π½ΠΎΠΌ Ρ‚Π΅Π³Π΅ SCRIPT нСльзя ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ внСшний скрипт ΠΈ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠ΄.

Π’ΠΎΡ‚ Ρ‚Π°ΠΊ Π½Π΅ сработаСт:

АсинхронныС скрипты: defer/async

Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ HTML постСпСнно. ОсобСнно это Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ ΠΏΡ€ΠΈ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΌ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-соСдинСнии: Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π½Π΅ ΠΆΠ΄Ρ‘Ρ‚, ΠΏΠΎΠΊΠ° страница загрузится Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ, Π° ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Ρ‚Ρƒ Ρ‡Π°ΡΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ успСл Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

ΠŸΠΎΠ³Ρ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ Π² Ρ‚Π΅ΠΌΠ½Ρ‹Π΅ Π²ΠΎΠ΄Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ скриптов

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ…ΠΎΡ‡Ρƒ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ вас ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ JavaScript ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ.

НСт, ΠΏΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡ‚Π΅, Π²Π΅Ρ€Π½ΠΈΡ‚Π΅ΡΡŒ! Π― знаю, Ρ‡Ρ‚ΠΎ это Π·Π²ΡƒΡ‡ΠΈΡ‚ заурядно ΠΈ просто, Π½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ это происходит Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, Π³Π΄Π΅ тСорСтичСски простоС прСвращаСтся Π² Π½Π°Π±ΠΎΡ€ ΠΏΡ€ΠΈΡ‡ΡƒΠ΄, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π½Π°ΡΠ»Π΅Π΄ΡΡ‚Π²Π΅Π½Π½ΠΎΡΡ‚ΡŒΡŽ. Π—Π½Π°Π½ΠΈΠ΅ этих ΠΏΡ€ΠΈΡ‡ΡƒΠ΄ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ‚ Π²Π°ΠΌ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ самый быстрый, Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ Ρ€Π°Π·Ρ€ΡƒΡˆΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ способ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ скриптов. Если Π²Ρ‹ ΡΠΏΠ΅ΡˆΠΈΡ‚Π΅, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ сразу ΠΊ ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΌΡƒ справочнику Π² ΠΊΠΎΠ½Ρ†Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ.

Для Π·Π°Ρ‚Ρ€Π°Π²ΠΊΠΈ, Π²ΠΎΡ‚ ΠΊΠ°ΠΊ спСцификация опрСдСляСт Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ способы Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ выполнСния скриптов:

страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ. image loader. страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ Ρ„ΠΎΡ‚ΠΎ. страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ html-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈ javascript ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π² Π½Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ. Код javacript ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π²Π½ΡƒΡ‚Ρ€ΠΈ html-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Ρ‚Π°ΠΊ ΠΈ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° *.js.

Как ΠΈ всС спСцификации WHATWG, Π½Π° ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ взгляд данная спСцификация выглядит ΠΊΠ°ΠΊ послСдствия кассСтной Π±ΠΎΠΌΠ±Ρ‹ Π½Π° Ρ„Π°Π±Ρ€ΠΈΠΊΠ΅ Scrabble. Но, ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π² Π΅Π΅ Π½Π° 5 Ρ€Π°Π· ΠΈ Π²Ρ‹Ρ‚Π΅Ρ€Π΅Π² ΠΊΡ€ΠΎΠ²ΡŒ ΠΈΠ· своих Π³Π»Π°Π·, Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΡˆΡŒ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π΅Π΅ довольно интСрСсной:

МоС ΠΏΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ скрипта

Ах, блаТСнная простота. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ скачаСт ΠΎΠ±Π° скрипта ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ ΠΈΡ… ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ скорСС, сохраняя Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ порядок. Β«2.jsΒ» Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ ΠΏΠΎΠΊΠ° Π½Π΅ выполнится Β«1.jsΒ» (ΠΈΠ»ΠΈ Π½Π΅ смоТСт этого ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ), Β«1.jsΒ» Π½Π΅ выполнится ΠΏΠΎΠΊΠ° Π½Π΅ выполнится ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ скрипт ΠΈΠ»ΠΈ ΡΡ‚ΠΈΠ»ΡŒ, ΠΈ Ρ‚.Π΄. ΠΈ Ρ‚.ΠΏ.

Π’ΠΎΡ‚ ΠΏΠΎΡ‡Π΅ΠΌΡƒ Π³ΡƒΡ€Ρƒ ΠΈ спСциалисты ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Ρ‚ΡŒ элСмСнты script Π² ΠΊΠΎΠ½Ρ†Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ это Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ мСньшС всСго ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°. К соТалСнию, это ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ваш скрипт Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ²ΠΈΠ΄Π΅Π½ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ скачСн вСсь HTML, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΡƒΠΆΠ΅ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° CSS, ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ ΠΈ iframe-ΠΎΠ². Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ достаточно ΡƒΠΌΠ½Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ JavaScript Π½Π°Π΄ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ‡Π°ΡΡ‚ΡŒΡŽ, Π½ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅.

Бпасибо, IE! (Π½Π΅Ρ‚, я это Π±Π΅Π· сарказма)

WHATWG сдСлали это ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ явным, объявив, Ρ‡Ρ‚ΠΎ Β«deferΒ» Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠΌΠ΅Ρ‚ΡŒ Π½ΠΈΠΊΠ°ΠΊΠΎΠ³ΠΎ эффСкта Π½Π° скрипты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ динамичСски ΠΈΠ»ΠΈ Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ Β«srcΒ». Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС, скрипты с Β«deferΒ» Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ порядкС послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π±Ρ‹Π» распарсСн.

Бпасибо, IE! (Π½Ρƒ Π»Π°Π΄Π½ΠΎ, Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ с сарказмом)

Одно Π΄Π°Π»ΠΈ β€” Π΄Ρ€ΡƒΠ³ΠΎΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π»ΠΈ. К соТалСнию, Π΅ΡΡ‚ΡŒ нСприятный Π±Π°Π³ Π² IE4-9, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠΏΡ€ΠΎΠ²ΠΎΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ скриптов Π² Π½Π΅Π²Π΅Ρ€Π½ΠΎΠΌ порядкС. Π’ΠΎΡ‚ Ρ‡Ρ‚ΠΎ происходит:

Допустим, Ρ‡Ρ‚ΠΎ Π½Π° страницС Π΅ΡΡ‚ΡŒ ΠΏΠ°Ρ€Π°Π³Ρ€Π°Ρ„, ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ порядок Π»ΠΎΠ³ΠΎΠ² β€” [1, 2, 3], Π½ΠΎ Π² IE9 ΠΈ Π½ΠΈΠΆΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ [1, 3, 2]. НСкоторыС ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ DOM Π²Ρ‹Π½ΡƒΠΆΠ΄Π°ΡŽΡ‚ IE ΠΏΡ€ΠΈΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ скрипта ΠΈ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π½Π°Ρ‡Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄Ρ€ΡƒΠ³ΠΈΡ… скриптов Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ.

HTML5 ΡΠΏΠ΅ΡˆΠΈΡ‚ Π½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ

HTML5 Π΄Π°Π» Π½Π°ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ Β«asyncΒ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ document.write, Π½ΠΎ ΠΏΡ€ΠΈ этом Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ окончания парсинга Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎ скачаСт ΠΎΠ±Π° скрипта ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ ΠΈΡ… ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ скорСС.

К соТалСнию, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΠΎΡΡ‚Π°Ρ€Π°ΡŽΡ‚ΡΡ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΡΡ максимально скоро, Β«2.jsΒ» ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΡΡ Ρ€Π°Π½ΡŒΡˆΠ΅ Β«1.jsΒ». Π­Ρ‚ΠΎ ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ, Ссли ΠΎΠ½ΠΈ Π½Π΅ зависят Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°. НапримСр, Ссли Β«1.jsΒ» β€” это ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ скрипт, Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΉ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΎΠ±Ρ‰Π΅Π³ΠΎ с Β«2.jsΒ». Но Ссли Β«1.jsΒ» β€” это CDN-копия jQuery, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ зависит Β«2.jsΒ», Ρ‚ΠΎ ваша страница Π±ΡƒΠ΄Π΅Ρ‚ устлана ошибками, ΠΊΠ°ΠΊ послС кассСтной Π±ΠΎΠΌΠ±Ρ‹ в… я Π½Π΅ Π·Π½Π°ΡŽβ€¦ здСсь я Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π».

Π― знаю, Π½Π°ΠΌ Π½ΡƒΠΆΠ½Π° JavaScript-Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°!

Π’ Бвятом Π“Ρ€Π°Π°Π»Π΅ содСрТится Π½Π°Π±ΠΎΡ€ скриптов, Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‰ΠΈΡ…ΡΡ сразу, Π±Π΅Π· блокирования отрисовки страницы ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ…ΡΡ максимально скоро, Π² Ρ‚ΠΎΠΌ порядкС, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΡ‹ ΠΈΡ… Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ. К соТалСнию, HTML Π½Π΅Π½Π°Π²ΠΈΠ΄ΠΈΡ‚ вас ΠΈ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ этого ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π±Ρ‹Π»Π° Ρ€Π΅ΡˆΠ΅Π½Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ JavaScript Π½Π° Ρ€Π°Π·Π½Ρ‹ΠΉ ΠΌΠ°Π½Π΅Ρ€. НСкоторыС способы Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π»ΠΈ ΠΎΡ‚ вас Π²Π½ΠΎΡΠΈΡ‚ΡŒ измСнСния Π² JavaScript, ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ всё Π² callback, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° Π²Ρ‹Π·ΠΎΠ²Π΅Ρ‚ Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ порядкС (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, RequireJS). Π”Ρ€ΡƒΠ³ΠΈΠ΅ использовали XHR для ΠΏΠ°Ρ€Π°Π»Π»Π΅Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Π° Π·Π°Ρ‚Π΅ΠΌ eval() Π² Π½ΡƒΠΆΠ½ΠΎΠΌ порядкС, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ для скриптов Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΌ Π΄ΠΎΠΌΠ΅Π½Π΅, Ссли Ρ‚Π°ΠΌ Π½Π΅Ρ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° CORS ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π΅Π³ΠΎ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. НСкоторыС использовали Π΄Π°ΠΆΠ΅ супСр-магичСскиС Ρ…Π°ΠΊΠΈ, ΠΊΠ°ΠΊ это Π±Ρ‹Π»ΠΎ сдСлано Π² послСднСм LabJS.

Π₯Π°ΠΊΠΈ всячСским ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΎΠ±ΠΌΠ°Π½Ρ‹Π²Π°Π»ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚ΠΎΡ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π» рСсурс, вызывая ΠΏΡ€ΠΈ этом событиС ΠΏΠΎ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Π½ΠΎ Π½Π΅ Π½Π°Ρ‡ΠΈΠ½Π°Π» Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅. Π’ LabJS скрипт сначала добавлялся с Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌ mime-Ρ‚ΠΈΠΏΠΎΠΌ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€
Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ созданы ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ динамичСски, асинхронныС ΠΏΠΎ-ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΎΠ½ΠΈ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ отрисовку ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ сразу послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Ρ‡Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΠ²ΠΈΡ‚ΡŒΡΡ Π² Π½Π΅Π²Π΅Ρ€Π½ΠΎΠΌ порядкС. Однако ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ явно ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΈΡ… нСасинхронными:

Π­Ρ‚ΠΎ даст нашим скриптам сочСтаниС с ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ достигнуто чистым HTML. Π―Π²Π½ΠΎ Π·Π°Π΄Π°Π½Π½Ρ‹Π΅ нСасинхронными, скрипты Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Ρ‚Π°ΠΊΡƒΡŽ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΎΠ½ΠΈ ΠΏΠΎΠΏΠ°Π΄Π°Π»ΠΈ Π² нашСм ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π½Π° чистом HTML. Однако, создаваСмыС динамичСски, ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π²Π½Π΅ парсинга Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Ρ‡Ρ‚ΠΎ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ отрисовку, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ (Π½Π΅ ΠΏΡƒΡ‚Π°ΠΉΡ‚Π΅ Π½Π΅Π°ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΡƒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ скрипта с синхронным XHR, Ρ‡Ρ‚ΠΎ Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ являСтся Ρ…ΠΎΡ€ΠΎΡˆΠ΅ΠΉ Π²Π΅Ρ‰ΡŒΡŽ).

Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π²Ρ‹ΡˆΠ΅ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ встроСн Π² head страниц, начиная ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π½ΡŒΡˆΠ΅, Π±Π΅Π· Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡ постСпСнной отрисовки, ΠΈ начиная Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π½ΡŒΡˆΠ΅, Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΌ Π²Π°ΠΌΠΈ порядкС. «2.js» ΠΌΠΎΠΆΠ΅Ρ‚ свободно Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ Π΄ΠΎ «1.js», Π½ΠΎ ΠΎΠ½ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° «1.js» ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π½Π΅ скачаСтся ΠΈ выполнится ΠΈΠ»ΠΈ Π½Π΅ смоТСт ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Π»ΠΈΠ±ΠΎ ΠΈΠ· этого. Π£Ρ€Π°! Асинхронная Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°, Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎ порядку!

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° скриптов этим ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ поддСрТиваСтся Π²Π΅Π·Π΄Π΅, Π³Π΄Π΅ поддСрТиваСтся Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ async, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Safari 5.0 (Π½Π° 5.1 всС Ρ…ΠΎΡ€ΠΎΡˆΠΎ). ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ всС вСрсии Firefox ΠΈ Opera, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ async, всС Ρ€Π°Π²Π½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ динамичСски-Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Π΅ скрипты Π² ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠΌ порядкС.

Π­Ρ‚ΠΎ самый быстрый способ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ скрипты, Ρ‚Π°ΠΊ? Π’Π°ΠΊ?

Ну Ссли Π²Ρ‹ динамичСски Ρ€Π΅ΡˆΠ°Π΅Ρ‚Π΅ ΠΊΠ°ΠΊΠΈΠ΅ скрипты Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ β€” Π΄Π°, ΠΈΠ½Π°Ρ‡Π΅ β€” Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Π½Π΅Ρ‚. Π’ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ΡˆΠ΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°ΡΠΏΠ°Ρ€ΡΠΈΡ‚ΡŒ ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ скрипт, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅ скрипты Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ. Π­Ρ‚ΠΎ скрываСт ваши скрипты ΠΎΡ‚ сканСров ΠΏΡ€Π΅Π΄Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ эти сканСры для обнаруТСния рСсурсов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ скорСС всСго посСтитС ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌΠΈ ΠΈ для обнаруТСния рСсурсов страницы ΠΏΠΎΠΊΠ° парсСр Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ Π΄Ρ€ΡƒΠ³ΠΈΠΌ рСсурсом.

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ±Π½Π°Ρ€ΡƒΠΆΠ°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ, помСстив это Π² head Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°:

Π­Ρ‚Π° ΡΡ‚Π°Ρ‚ΡŒΡ мСня ΡƒΠ΄Ρ€ΡƒΡ‡Π°Π΅Ρ‚

Битуация ΡƒΠ΄Ρ€ΡƒΡ‡Π°ΡŽΡ‰Π°Ρ ΠΈ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ сСбя ΡƒΠ΄Ρ€ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΌ. Π•Ρ‰Π΅ Π½Π΅Ρ‚ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ способа Π±Π΅Π· ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π΅Π½ΠΈΠΉ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ скриптов быстро ΠΈ асинхронно, Π² Ρ‚ΠΎ ΠΆΠ΅ врСмя управляя порядком выполнСния.

Π‘ появлСниСм HTTP2/SPDY Π²Ρ‹ смоТСтС ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ рСсурсы Π΄ΠΎ Ρ‚ΠΎΡ‡ΠΊΠΈ, Π³Π΄Π΅ доставка скриптов Π² ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ-ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… Ρ„Π°ΠΉΠ»Π°Ρ… Π±ΡƒΠ΄Π΅Ρ‚ самым быстрым способом. Волько ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅:

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ enhancement-скрипт ΠΈΠΌΠ΅Π΅Ρ‚ Π΄Π΅Π»ΠΎ с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠΌ страницы, Π½ΠΎ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² dependencies.js. Π’ ΠΈΠ΄Π΅Π°Π»Π΅, ΠΌΡ‹ Ρ…ΠΎΡ‚ΠΈΠΌ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ всС асинхронно, Π·Π°Ρ‚Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ enhancement-скрипт ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π°Π½ΡŒΡˆΠ΅, Π² любом порядкС, Π½ΠΎ послС dependencies.js. Π­Ρ‚ΠΎ прогрСссивноС прогрСссивноС ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΠ΅!

К соТалСнию, Π½Π΅Ρ‚ Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ способа для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ этого, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сами скрипты для отслСТивания состояния Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ dependencies.js. Π”Π°ΠΆΠ΅ async=false Π½Π΅ Ρ€Π΅ΡˆΠΈΡ‚ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ enhancement-10.js Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Π½Π° 1-9. По Ρ„Π°ΠΊΡ‚Ρƒ, Π΅ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΡΡ‚ΠΈΡ‡ΡŒ этого Π±Π΅Π· хаков…

Π£ IE Π΅ΡΡ‚ΡŒ идСя!

IE Π³Ρ€ΡƒΠ·ΠΈΡ‚ скрипты Π½Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹.

IE Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ Π·Π°ΠΊΠ°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ «whatever.js» сСйчас, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΆΠ΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ Π½Π΅ Π½Π°Ρ‡Π½ΡƒΡ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°, ΠΏΠΎΠΊΠ° скрипт Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΊ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ. Π£ IE Ρ‚Π°ΠΊΠΆΠ΅ Π΅ΡΡ‚ΡŒ событиС «readystatechange» ΠΈ свойство «readystate», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΠΎΠ±Ρ‰Π°ΡŽΡ‚ ΠΎ процСссС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. Π­Ρ‚ΠΎ Π½Π° самом Π΄Π΅Π»Π΅ ΠΎΡ‡Π΅Π½ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ позволяСт Π½Π°ΠΌ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ скриптов нСзависимо Π΄Ρ€ΡƒΠ³ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³Π°.

Π₯Π²Π°Ρ‚ΠΈΡ‚! Как я Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ скрипты?

Π›Π°Π΄Π½ΠΎ, Π»Π°Π΄Π½ΠΎ. Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ скрипты способом, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ отрисовку, Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ дублирования ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€Π΅ΠΊΡ€Π°ΡΠ½ΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ², Ρ‚ΠΎ я ΡΠΎΠ²Π΅Ρ‚ΡƒΡŽ Π²ΠΎΡ‚ этот:

ИмСнно этот. Π’ ΠΊΠΎΠ½Ρ†Π΅ элСмСнта body. Π”Π°, Π±Ρ‹Ρ‚ΡŒ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΌ β€” это ΠΊΠ°ΠΊ Π±Ρ‹Ρ‚ΡŒ Ρ†Π°Ρ€Π΅ΠΌ Π‘ΠΈΠ·ΠΈΡ„ΠΎΠΌ (Π±ΡƒΠΌ! 100 хипстСрских ΠΎΡ‡ΠΊΠΎΠ² Π·Π° ΡƒΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ грСчСской ΠΌΠΈΡ„ΠΎΠ»ΠΎΠ³ΠΈΠΈ!). ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ HTML ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π°ΠΌ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ сильно Π»ΡƒΡ‡ΡˆΠ΅.

Π― надСюсь, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ΄ΡƒΠ»ΠΈ JavaScript нас спасут, прСдоставив Π΄Π΅ΠΊΠ»Π°Ρ€Π°Ρ‚ΠΈΠ²Π½Ρ‹ΠΉ Π½Π΅Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ способ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ скрипты ΠΈ ΠΈΠΌΠ΅Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π½Π°Π΄ порядком ΠΈΡ… запуска, Π΄Π°ΠΆΠ΅ Ссли это ΠΏΠΎΡ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ написаниС скриптов Π² Π²ΠΈΠ΄Π΅ ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ.

Π˜ΡƒΡƒ, Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΡˆΠ΅, Ρ‡Ρ‚ΠΎ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ сСйчас?

Π›Π°Π΄Π½ΠΎ, Ρ€Π°Π΄ΠΈ бонусных ΠΎΡ‡ΠΊΠΎΠ², Ссли Π²Ρ‹ Π²ΡΠ΅Ρ€ΡŒΠ΅Π· Π΄ΡƒΠΌΠ°Π΅Ρ‚Π΅ ΠΎ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ Π½Π΅ Π±ΠΎΠΈΡ‚Π΅ΡΡŒ слоТности ΠΈ дублирования, Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ нСсколько рассмотрСнных Ρ‚Ρ€ΡŽΠΊΠΎΠ².

Π’ΠΎ-ΠΏΠ΅Ρ€Π²Ρ‹Ρ…, ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ объявлСниС subresource для ΠΏΡ€Π΅Π΄Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΠΎΠ²:

БпСцификация Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚: Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°ΠΉ вмСстС, выполняй ΠΏΠΎ порядку послС любого ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‰Π΅Π³ΠΎ CSS, Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠΉ отрисовку, ΠΏΠΎΠΊΠ° Π½Π΅ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΡˆΡŒ
Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚: Π”Π°, сэр!

Defer

БпСцификация Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚: Π‘ΠΊΠ°Ρ‡ΠΈΠ²Π°ΠΉ вмСстС, выполняй ΠΏΠΎ порядку Π΄ΠΎ DOMContentLoaded. Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΡƒΠΉ «defer» для скриптов Π±Π΅Π· «src».
IE

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Javascript Ρ„Π°ΠΉΠ» ΠΊ html Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ.

страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ. myphoto. страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ Ρ„ΠΎΡ‚ΠΎ. страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ-myphoto. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° myphoto. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ html-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈ javascript ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π² Π½Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ. Код javacript ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π²Π½ΡƒΡ‚Ρ€ΠΈ html-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Ρ‚Π°ΠΊ ΠΈ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° *.js.

Π”Π°Π²Π°ΠΉΡ‚Π΅ разбСрСмся, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Javascript-ΠΊΠΎΠ΄, Π»ΠΈΠ±ΠΎ Javascript-Ρ„Π°ΠΉΠ» ΠΊ html-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ.

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ нас имССтся 2 Ρ„Π°ΠΉΠ»Π°:

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ содСрТимоС Ρ„Π°ΠΉΠ»Π° index.html Ρƒ нас ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅:

Как Π² этот Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ javascript ΠΊΠΎΠ΄?

Π•ΡΡ‚ΡŒ нСсколько ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ², ΠΊΠ°ΠΊ это ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ.

1 ΠΌΠ΅Ρ‚ΠΎΠ΄. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Javascript-ΠΊΠΎΠ΄Π° нСпосрСдствСнно Π² Ρ„Π°ΠΉΠ» html.

Для этого ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ элСмСнт script Π² ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ html-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.

2 ΠΌΠ΅Ρ‚ΠΎΠ΄. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ стороннСго Ρ„Π°ΠΉΠ»Π° script.js.

Π­Ρ‚ΠΎ 2 основных ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Javascript ΠΊ html-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρƒ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΈ примСняйтС это Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ сообщСниС, Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ/Π²ΠΎΠΉΠ΄ΠΈΡ‚Π΅ Π½Π° сайт Ρ‡Π΅Ρ€Π΅Π·:

Или Π·Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€ΠΈΡ€ΡƒΠΉΡ‚Π΅ΡΡŒ Ρ‡Π΅Ρ€Π΅Π· ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ сСти:

страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ. anonym. страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ Ρ„ΠΎΡ‚ΠΎ. страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ-anonym. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° anonym. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ html-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈ javascript ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π² Π½Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ. Код javacript ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π²Π½ΡƒΡ‚Ρ€ΠΈ html-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Ρ‚Π°ΠΊ ΠΈ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° *.js.

страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ. . страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ Ρ„ΠΎΡ‚ΠΎ. страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ-. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° . ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ html-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈ javascript ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π² Π½Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ. Код javacript ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π²Π½ΡƒΡ‚Ρ€ΠΈ html-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Ρ‚Π°ΠΊ ΠΈ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° *.js.

ВСрстка, HTML ΠΈ CSS.

Π’Π΅Π±-сСрвСр. Π‘Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. Backend.

ВСхничСская сторона Π²Π΅Π±-Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠΈ сайтов.

SEO ΠΈ ΠΏΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ сайтов.

Google Apps Script

Новый курс:
ΠžΡΠ½ΠΎΠ²Ρ‹ Docker для Π²Π΅Π±-программистов.

страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ. docker. страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ Ρ„ΠΎΡ‚ΠΎ. страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ-docker. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° страница Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ html Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ js скрипты сколько соСдинСний Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° docker. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ html-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈ javascript ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π² Π½Π΅ΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ. Код javacript ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ ΠΊΠ°ΠΊ Π²Π½ΡƒΡ‚Ρ€ΠΈ html-Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Ρ‚Π°ΠΊ ΠΈ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° *.js.

ЗдравствуйтС. МСня Π·ΠΎΠ²ΡƒΡ‚ Π”ΠΌΠΈΡ‚Ρ€ΠΈΠΉ Π§Π΅Π½Π³Π°Π΅Π².

Π― занимаюсь Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΈ Π²Π΅Π±-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. Π­Ρ‚ΠΎΡ‚ сайт, своСго Ρ€ΠΎΠ΄Π°, ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰ΠΈΠΉ Ρ†Π΅Π½Ρ‚Ρ€, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ я ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΡŽ свой ΠΎΠΏΡ‹Ρ‚, ΡƒΡ€ΠΎΠΊΠΈ ΠΈ знания Π² сфСрах Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ‚Π°ΠΊΠΈΠΌΠΈ тСхнологиями ΠΊΠ°ΠΊ:

[+] HTML
[+] CSS
[+] PHP
[+] ВСрстка сайтов
[+] Javascript
[+] Π΄Ρ€ΡƒΠ³ΠΈΡ… инструмСнтах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ быстрСС.

Π£Ρ€ΠΎΠΊΠΈ Ρ€Π°Π·Π±ΠΈΡ‚Ρ‹ Π½Π° Ρ€Π°Π·Π΄Π΅Π»Ρ‹ ΠΈ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ относятся ΠΊ Ρ‚ΠΎΠΉ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Ρ‚Π΅ΠΌΠ΅. К Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΡƒΡ€ΠΎΠΊΠ°ΠΌ ΠΏΡ€ΠΈΠ»Π°Π³Π°ΡŽΡ‚ΡΡ практичСскиС задания, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ свои знания.

Если Ρƒ вас Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ΠΊΠ°ΠΊΠΈΠ΅-Ρ‚ΠΎ вопросы ΠΈΠ»ΠΈ нСпонятныС ΠΌΠΎΠΌΠ΅Π½Ρ‚Ρ‹, ΠΏΠΈΡˆΠΈΡ‚Π΅ Π² «Π»ΠΈΡ‡ΠΊΡƒ» ΠΈΠ»ΠΈ Π² коммСнтариях Π½Π° этом сайтС. ΠŸΠΎΡΡ‚Π°Ρ€Π°ΡŽΡΡŒ ΠΏΠΎΠΌΠΎΡ‡ΡŒ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° JavaScript(Π±Π΅Π· Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ отрисовки Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, асинхронная Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°)

Π‘ ростом скорости ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ соСдинСния ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ мощности Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ дСсктопных, Π½ΠΎ ΠΈ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств Π²Π΅Π± страницы ΡΡ‚Π°ΡŽΡ‚ Π±ΠΎΠ»Π΅Π΅ «Ρ‚яТСлыми». ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² растСт: JavaScript Ρ„Π°ΠΉΠ»Ρ‹, css Ρ„Π°ΠΉΠ»Ρ‹, изобраТСния, Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Ρ‹ сторонних сайтов, iframe. На Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ спСцифика Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² такая, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ js Ρ„Π°ΠΉΠ»Π° блокируСтся отривсовка Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°, ΠΏΠΎΠΊΠ° скрипт Π½Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΡΡ. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ Π² Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΠ°Ρ€ΡΠΈΡ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈ ΡΠΊΠ°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ скрипты ΠΈ стили, Π½ΠΎ отрисовка Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π°. Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ сСтСвых ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² для Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π½Π° browserscope.org. ΠœΡ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΡƒΡΡ‚Ρ€Π°Π½ΠΈΡ‚ΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ, Π½ΠΎ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ΅Ρ€Π²Π΅Ρ€Π½ΡƒΡŽ ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ прилоТСния, Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° отрисовки Π·Π°Π½ΠΈΠΌΠ°Π»Π° наимСньший ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΠΊ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

РСшСния для сСрвСрной части:
— Π£ΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²
— Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ CDN
— ВынСсти статичСскиС Ρ„Π°ΠΉΠ»Ρ‹ Π½Π° ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΎΠΌΠ΅Π½ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ Π΄ΠΎΠΌΠ΅Π½, Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΡ‚ΡŒ количСство ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… соСдинСний Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°.
— Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ сТатиС ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ²(gzip)

РСшСния для клиСнтской части:
— Π£ΠΌΠ΅Π½ΡŒΡˆΠΈΡ‚ΡŒ количСство запросов.
— ΠšΡΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² Expires ΠΈ Etags.
— Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ общСдоступныС CDN(Google CDN, Yandex CDN). Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, сущСствуСт Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» с общСдоступного CDN ΡƒΠΆΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒΡΡ Π² кСшС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°.
— Асинхронная Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ².

Одним ΠΈΠ· способов ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ скорости Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сайта являСтся асинхронная Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ², которая Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ отрисовку.

Π‘ΠΊΡ€ΠΈΠΏΡ‚ асинхронной Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ JavaScript:

Если JavaScript Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ всСй страницы, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ содСрТаниС, изобраТСния, стилСвыС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ внСшниС скрипты, Ρ‚ΠΎ ΠΊ Π·Π°Π³Ρ€ΡƒΠ·Ρ‡ΠΈΠΊΡƒ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ отслСТивания события onload.

Π‘ΠΊΡ€ΠΈΠΏΡ‚ асинхронной Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ JavaScript с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ события onload

Но это Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹ΠΉ случай, ΠΊΠΎΠ³Π΄Π° трСбуСтся Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠ΄Π½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°. Часто Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ мноТСство Ρ„Π°ΠΉΠ»ΠΎΠ².

Π‘ΠΊΡ€ΠΈΠΏΡ‚ асинхронной Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ мноТСства ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… JavaScript Ρ„Π°ΠΉΠ»ΠΎΠ²

HTML 5. Асинхронная Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° JavaScript

Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚ HTML 5 ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π°ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΡƒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ JavaScript. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡƒΡ‚Π΅ΠΌ добавлСния ΠΊΠ»ΡŽΡ‡Π΅Π²ΠΎΠ³ΠΎ слова async ΠΈΠ»ΠΈ defer. НапримСр:

Π’ ΠΎΠ±Π΅ΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° javascript Π±ΡƒΠ΄Π΅Ρ‚ асинхронной. Π Π°Π·Π½ΠΈΡ†Π° состоит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Π½Π°Ρ‡Π°Π»Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ выполнСния скрипта.

Π‘ΠΊΡ€ΠΈΠΏΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ с Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌ defer выполнится Π½Π΅ Π½Π°Ρ€ΡƒΡˆΠ°Ρ порядок выполнСния ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ скриптам ΠΈ Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ послС ΠΏΠΎΠ»Π½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ парсинга страницы, Π½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ вызовСтся DOMContentLoaded.

Π‘ΠΊΡ€ΠΈΠΏΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ с Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌ async выполнится ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΉ возмоТности послС ΠΏΠΎΠ»Π½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Π½ΠΎ ΠΏΡ€ΠΈ этом Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ окончания парсинга Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈ Π΄ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° window. Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ Π½Π΅ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ скриптов Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ порядкС Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ½ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹.

Π‘ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для асинхронной Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ JavaScript

extsrc.js β€” Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, которая запускаСт скрипты Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ страница загрузится ΠΈ отобразится ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ с document.write.

ΠŸΡ€ΠΎΡΡ‚ΠΎΠΉ способ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ JavaScript скриптов

ΠžΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ΡΡ, Ρ‡Ρ‚ΠΎ Π½Π° ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ΅ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ кросс Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ JavaScript скриптов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΡŽΡ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ слоТно, Π° ΠΏΠΎΡ€ΠΎΠΉ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. НаиболСС ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ способом являСтся Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½Π΅Ρ† Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌΡΡ Ρ‚Π΅Π³ΠΎΠΌ body. Из Π·Π° ограничСния Ρ€Π°Π·Π½Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² ΠΈ самого HTML Ρ‚Π°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ простой.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π’Π°Ρˆ адрСс email Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½. ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Ρ‹ *