ΡΡΡΠ°Π½ΠΈΡΠ° Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ html Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°ΡΡΡΡ js ΡΠΊΡΠΈΠΏΡΡ ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΊΡΡΡΠΎ
ΠΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Javascript ΡΠ°ΠΉΠ» ΠΊ html Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ?
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Ρ Π²Π°Ρ Π΅ΡΡΡ html-Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΈ javascript ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π² Π½Π΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ. ΠΠΎΠ΄ javacript ΠΌΠΎΠΆΠ΅Ρ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡΡ ΠΊΠ°ΠΊ Π²Π½ΡΡΡΠΈ html-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, ΡΠ°ΠΊ ΠΈ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌ ΡΠ°ΠΉΠ»Π΅ ΡΠΎΡΠΌΠ°ΡΠ° *.js.
ΠΡΠΎΠ±Π»Π΅ΠΌΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΎΡΠ΅Π½Ρ ΡΠ°ΡΡΠΎ ΠΏΠΎΡΠ²Π»ΡΠ΅ΡΡΡ Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ: ΠΠ°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ javacript-ΠΊΠΎΠ΄ ΠΈΠ»ΠΈ ΡΠ°ΠΉΠ» ΠΊ html Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ?
Π ΡΡΠΎΠΉ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠΉ Π·Π°ΠΌΠ΅ΡΠΊΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ.
ΠΡΠ΅ ΠΌΠΎΠΈ ΡΡΠΎΠΊΠΈ ΠΏΠΎ Javascript Π·Π΄Π΅ΡΡ.
ΠΡΡΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° html Π±ΡΠ΄Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΠΈΡΠ΅Π³ΠΎ Π»ΠΈΡΠ½Π΅Π³ΠΎ. Π’Π΅ΠΏΠ΅ΡΡ ΠΊΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ:
Π’.Π΅. ΡΡΠΎΡ ΡΠΊΡΠΈΠΏΡ ΠΏΡΠΎΡΡΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΡΠ²Π΅ΡΡΠΈ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ, ΡΡΠΎ «Javacript ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½» ΠΏΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ ΡΠ°ΠΉΠ»Π° html-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°. ΠΡΠ°ΠΊ, ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΠΌ Π΄Π²Π° Π²Π°ΡΠΈΠ°Π½ΡΠ° ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠ°.
ΠΠ°ΡΠΈΠ°Π½Ρ 1. ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²Π½ΡΡΡΠΈ html-ΡΠ°ΠΉΠ»Π°.
ΠΠ΅Π»Π°Π΅ΡΡΡ ΡΡΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΠΈ:
ΠΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΡΡΠΎ Π²ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ:
ΠΡΠ»ΠΈΡΠ½ΠΎ. ΠΠΊΠ½ΠΎ Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΡΠ²ΠΈΠ»ΠΎΡΡ.
ΠΠ°ΡΠΈΠ°Π½Ρ 2. ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π²Π½Π΅ΡΠ½Π΅Π³ΠΎ ΡΠ°ΠΉΠ»Π° ΡΠΊΡΠΈΠΏΡΠ° Ρ ΠΊΠΎΠ΄ΠΎΠΌ.
ΠΡΠ»ΠΈ javascript-ΠΊΠΎΠ΄ Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π²ΠΎ Π²Π½Π΅ΡΠ½Π΅ΠΌ ΡΠ°ΠΉΠ»Π΅, ΡΠΎ ΡΠΏΠΎΡΠΎΠ± Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π΄ΡΡΠ³ΠΈΠΌ. ΠΡΡΡΡ ΡΠ°ΠΊΠΎΠΉ ΡΠ°ΠΉΠ» Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ script.js. Π ΡΠΎΠΌ, ΠΊΠ°ΠΊ ΡΠΎΠ·Π΄Π°ΡΡ javascript ΡΠ°ΠΉΠ» Ρ ΠΏΠΈΡΠ°Π» Π·Π΄Π΅ΡΡ.
Π ΠΈΡΠΎΠ³Π΅, ΠΈΠΌΠ΅Π΅ΠΌ Π΄Π²Π° ΡΠ°ΠΉΠ»Π° index.html ΠΈ script.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 ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π΅Π³ΠΎ.
ΠΠ΅Ρ, ΠΏΠΎΠ΄ΠΎΠΆΠ΄ΠΈΡΠ΅, Π²Π΅ΡΠ½ΠΈΡΠ΅ΡΡ! Π― Π·Π½Π°Ρ, ΡΡΠΎ ΡΡΠΎ Π·Π²ΡΡΠΈΡ Π·Π°ΡΡΡΠ΄Π½ΠΎ ΠΈ ΠΏΡΠΎΡΡΠΎ, Π½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡΠ΅, ΡΡΠΎ ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π² Π±ΡΠ°ΡΠ·Π΅ΡΠ΅, Π³Π΄Π΅ ΡΠ΅ΠΎΡΠ΅ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠΎΡΡΠΎΠ΅ ΠΏΡΠ΅Π²ΡΠ°ΡΠ°Π΅ΡΡΡ Π² Π½Π°Π±ΠΎΡ ΠΏΡΠΈΡΡΠ΄, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ Π½Π°ΡΠ»Π΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΡΡΡΡ. ΠΠ½Π°Π½ΠΈΠ΅ ΡΡΠΈΡ ΠΏΡΠΈΡΡΠ΄ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π²Π°ΠΌ Π²ΡΠ±ΡΠ°ΡΡ ΡΠ°ΠΌΡΠΉ Π±ΡΡΡΡΡΠΉ, Π½Π°ΠΈΠΌΠ΅Π½Π΅Π΅ ΡΠ°Π·ΡΡΡΠΈΡΠ΅Π»ΡΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠΊΡΠΈΠΏΡΠΎΠ². ΠΡΠ»ΠΈ Π²Ρ ΡΠΏΠ΅ΡΠΈΡΠ΅, ΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΉΡΠΈ ΡΡΠ°Π·Ρ ΠΊ ΠΊΡΠ°ΡΠΊΠΎΠΌΡ ΡΠΏΡΠ°Π²ΠΎΡΠ½ΠΈΠΊΡ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΡΠ°ΡΡΠΈ.
ΠΠ»Ρ Π·Π°ΡΡΠ°Π²ΠΊΠΈ, Π²ΠΎΡ ΠΊΠ°ΠΊ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ²:
ΠΠ°ΠΊ ΠΈ Π²ΡΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ 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 Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅ΠΌΡΡ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡΠ΄Ρ Javascript-ΠΊΠΎΠ΄, Π»ΠΈΠ±ΠΎ Javascript-ΡΠ°ΠΉΠ» ΠΊ html-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ.
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ Ρ Π½Π°Ρ ΠΈΠΌΠ΅Π΅ΡΡΡ 2 ΡΠ°ΠΉΠ»Π°:
ΠΡΠ΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, ΡΡΠΎ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΡΠ°ΠΉΠ»Π° index.html Ρ Π½Π°Ρ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
ΠΠ°ΠΊ Π² ΡΡΠΎΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½Ρ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ javascript ΠΊΠΎΠ΄?
ΠΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΊΠ°ΠΊ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ.
1 ΠΌΠ΅ΡΠΎΠ΄. ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Javascript-ΠΊΠΎΠ΄Π° Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΡΠ°ΠΉΠ» html.
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½Ρ script Π² ΠΊΠ°ΠΊΠΎΠΌ-Π»ΠΈΠ±ΠΎ html-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°.
2 ΠΌΠ΅ΡΠΎΠ΄. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΡΡΠΎΡΠΎΠ½Π½Π΅Π³ΠΎ ΡΠ°ΠΉΠ»Π° script.js.
ΠΡΠΎ 2 ΠΎΡΠ½ΠΎΠ²Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Javascript ΠΊ html-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠΉΡΠ΅ ΡΡΠΎ Π½Π° ΠΏΡΠ°ΠΊΡΠΈΠΊΠ΅.
Π§ΡΠΎΠ±Ρ ΠΎΡΡΠ°Π²ΠΈΡΡ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅, Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΠ΅ΡΡ/Π²ΠΎΠΉΠ΄ΠΈΡΠ΅ Π½Π° ΡΠ°ΠΉΡ ΡΠ΅ΡΠ΅Π·:
ΠΠ»ΠΈ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΡΠΉΡΠ΅ΡΡ ΡΠ΅ΡΠ΅Π· ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΠ΅ ΡΠ΅ΡΠΈ:
ΠΠ΅ΡΡΡΠΊΠ°, HTML ΠΈ CSS.
ΠΠ΅Π±-ΡΠ΅ΡΠ²Π΅Ρ. ΠΠ°Π·Ρ Π΄Π°Π½Π½ΡΡ . Backend.
Π’Π΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΠΎΡΠΎΠ½Π° Π²Π΅Π±-Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ ΡΠ°ΠΉΡΠΎΠ².
SEO ΠΈ ΠΏΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΠΉΡΠΎΠ².
Google Apps Script
ΠΠΎΠ²ΡΠΉ ΠΊΡΡΡ:
ΠΡΠ½ΠΎΠ²Ρ Docker Π΄Π»Ρ Π²Π΅Π±-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠ².
ΠΠ΄ΡΠ°Π²ΡΡΠ²ΡΠΉΡΠ΅. ΠΠ΅Π½Ρ Π·ΠΎΠ²ΡΡ ΠΠΌΠΈΡΡΠΈΠΉ Π§Π΅Π½Π³Π°Π΅Π².
Π― Π·Π°Π½ΠΈΠΌΠ°ΡΡΡ Π²Π΅Π±-ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΎΠΉ ΠΈ Π²Π΅Π±-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ. ΠΡΠΎΡ ΡΠ°ΠΉΡ, ΡΠ²ΠΎΠ΅Π³ΠΎ ΡΠΎΠ΄Π°, ΠΎΠ±ΡΡΠ°ΡΡΠΈΠΉ ΡΠ΅Π½ΡΡ, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Ρ ΠΏΡΠ±Π»ΠΈΠΊΡΡ ΡΠ²ΠΎΠΉ ΠΎΠΏΡΡ, ΡΡΠΎΠΊΠΈ ΠΈ Π·Π½Π°Π½ΠΈΡ Π² ΡΡΠ΅ΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°ΠΊΠΈΠΌΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΠΌΠΈ ΠΊΠ°ΠΊ:
[+] 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 ΡΠ°ΠΊΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΌΠΎΠΆΠ½ΠΎ ΡΡΠΈΡΠ°ΡΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΠΎΠΉ.