ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт

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

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

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

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

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

ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. image loader. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ…ΠΎΡ‡Ρƒ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ вас ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ 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

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

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ скрипт сайта ΠΈ ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ

ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. 300 na 300. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт-300 na 300. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° 300 na 300. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ…ΠΎΡ‡Ρƒ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ вас ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ JavaScript ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ.

ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. chto takoe skript sajta i kak ego ustanovit. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт-chto takoe skript sajta i kak ego ustanovit. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° chto takoe skript sajta i kak ego ustanovit. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ…ΠΎΡ‡Ρƒ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ вас ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ JavaScript ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ.

ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. calltouch platform. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт-calltouch platform. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° calltouch platform. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ…ΠΎΡ‡Ρƒ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ вас ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ JavaScript ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ.

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ скрипт сайта

Π§Ρ‚ΠΎΠ±Ρ‹ сайт Ρ€Π°Π±ΠΎΡ‚Π°Π» Π² соотвСтствии с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠΌ, для Π½Π΅Π³ΠΎ ΠΏΠΈΡˆΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ – это скрипты. Они Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ дСйствия Π½Π° сайтС. Π‘Π΅Π· скриптов Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«ΠžΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉΒ» Π½ΠΈ ΠΊ Ρ‡Π΅ΠΌΡƒ Π½Π΅ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Ρ‚. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌ сцСнарий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΈΡˆΡƒΡ‚ Π½Π° языкС программирования.

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ дСлятся Π½Π° Π΄Π²Π΅ ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΠΈ:

Π―Π·Ρ‹ΠΊΠΈ скриптов

Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ ΠΏΠΈΡˆΡƒΡ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… языков, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π·Ρ‹Π²Π°ΡŽΡ‚ скриптовыми. Π£ Π½ΠΈΡ… Ρ€Π°Π·Π½Ρ‹ΠΉ синтаксис, возмоТности ΠΈ области примСнСния. Π―Π·Ρ‹ΠΊΠΈ Π±Ρ‹Π²Π°ΡŽΡ‚ Ρ‚Ρ€Π΅Ρ… Π²ΠΈΠ΄ΠΎΠ²:

ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ скриптов

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΏΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ схСмС:

АвтоматичСскиС сцСнарии устроСны Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Ρ‚ΡŒ дСйствиС. Π­Ρ‚ΠΎ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π°Ρ ΠΏΠΎΠΏ-Π°ΠΏ Ρ€Π΅ΠΊΠ»Π°ΠΌΠ° ΠΈΠ»ΠΈ автоматичСская ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ° Π±Π°Π½Π½Π΅Ρ€ΠΎΠ² ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ страницы сайта. Π’Π°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ скрипты Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Π½Π΅ Π½Π° сСрвСрС, Π° Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. Для этого Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… встроСн ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ скриптового языка. ΠŸΠΎΡ‡Ρ‚ΠΈ всС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ ΡƒΠΌΠ΅ΡŽΡ‚ Ρ€Π°ΡΠΏΠΎΠ·Π½Π°Π²Π°Ρ‚ΡŒ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· языков β€” JavaScript.

Для Ρ‡Π΅Π³ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ скрипты

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сайта. Они ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ повСдСния Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ прСдусмотрСнной ситуации. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ скриптов:

Роль скриптов Π² Π‘Π•Πž

Π‘ΠΊΡ€ΠΈΠΏΡ‚ создаСт Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° сСрвСр ΠΈΠ»ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€. Когда скриптов слишком ΠΌΠ½ΠΎΠ³ΠΎ, сайт зависаСт ΠΈ Ρ‚ΠΎΡ€ΠΌΠΎΠ·ΠΈΡ‚, Π° это сказываСтся Π½Π° ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. ΠŸΠΎΠ²Π΅Π΄Π΅Π½Ρ‡Π΅ΡΠΊΠΈΠΉ Ρ„Π°ΠΊΡ‚ΠΎΡ€ Π²Π°ΠΆΠ΅Π½ ΠΏΡ€ΠΈ Ρ€Π°Π½ΠΆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ страниц Π² поисковой Π²Ρ‹Π΄Π°Ρ‡Π΅, поэтому Π‘Π•Πž-спСциалисты Π½Π΅ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΡŽΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ ΠΈΠ»ΠΈ динамичСских элСмСнтов.

ΠšΡ€ΠΎΠΌΠ΅ этого, скрипты ΠΌΠ½ΠΎΠ³ΠΎ вСсят. Π˜Ρ… Π½ΡƒΠΆΠ½ΠΎ ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π² ΠΊΠΎΠ½Ρ†Π΅ ΠΊΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ страницы ΠΎΠ½ΠΈ Π³Ρ€ΡƒΠ·ΠΈΠ»ΠΈΡΡŒ послСдними. Π˜Π½Π°Ρ‡Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ доТдСтся Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сайта ΠΈ ΡƒΠΉΠ΄Π΅Ρ‚, Π° Π΅Π³ΠΎ Π²ΠΈΠ·ΠΈΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ засчитан ΠΊΠ°ΠΊ ΠΎΡ‚ΠΊΠ°Π·. Π­Ρ‚ΠΎ часто происходит, ΠΊΠΎΠ³Π΄Π° сайт ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ с ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… устройств ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ слабом ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-соСдинСнии с ПК. Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅ количСство ΠΎΡ‚ΠΊΠ°Π·ΠΎΠ² сниТаСт ΠΏΠΎΡΠ΅Ρ‰Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΈ опускаСт ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π² Π²Ρ‹Π΄Π°Ρ‡Π΅.

Роль скриптов Π² ΠΏΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ

ИспользованиС языка JavaScript Π² контСкстной Ρ€Π΅ΠΊΠ»Π°ΠΌΠ΅

Π’ систСмС Google Adwords Π΅ΡΡ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½ΠΎΠΉ ΠΊΠ°ΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ скриптов, написанных Π½Π° JavaScript. Π‘ΠΊΡ€ΠΈΠΏΡ‚ – это Π±ΠΎΠ»Π΅Π΅ простой ΠΈ быстрый способ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с использованиСм API. Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΉ запускаСт Π·Π°Π΄Π°Ρ‡ΠΈ ΠΏΠΎ Ρ€Π°ΡΠΏΠΈΡΠ°Π½ΠΈΡŽ: рСгулярная ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Ρ€Π΅ΠΊΠ»Π°ΠΌΠ½ΠΎΠ³ΠΎ Π°ΠΊΠΊΠ°ΡƒΠ½Ρ‚Π°, Π°Π½Π°Π»ΠΈΠ· статистики, внСсСниС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ. Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ автоматичСски ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° качСством объявлСний, ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ нСэффСктивныС ΠΊΠ°Π½Π°Π»Ρ‹ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° ΠΈ нСдостатки скриптов

ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ скрипты, Π² Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΏΠΎΡ‡Ρ‚ΠΈ Π½Π΅Ρ‚. Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ доступны ΠΈ эффСктивны. Π£ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ ряд прСимущСств:

Π’ использовании скриптов Π΅ΡΡ‚ΡŒ ΠΈ свои нСдостатки:

Как ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ нСслоТно ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρƒ Π½ΠΈΡ… Π΅ΡΡ‚ΡŒ инсталлятор для автоматичСской установки. ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρƒ вас Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ²Ρ‹ΠΉ Ρ„Π°ΠΉΠ» со сцСнариСм, Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ шаги:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования скриптов

На сайтах часто ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Ρ€Π΅Ρ‚ΠΈΡ‚ΡŒ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΠΊΠ½Π° с Ρ„ΠΎΡ€ΠΌΠΎΠΉ для ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ связи, Ρ‡Π°Ρ‚ΠΎΠΌ для обращСния Π² Ρ‚Π΅Ρ…ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ.

ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. image1 3. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт-image1 3. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image1 3. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ…ΠΎΡ‡Ρƒ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ вас ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ JavaScript ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ.

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для автоматичСского формирования страниц ΠΈΠ»ΠΈ мСню Π½Π° Π½ΠΈΡ…. Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠ°Π»ΡŒΠΊΡƒΠ»ΡΡ‚ΠΎΡ€Ρ‹ Ρ‚ΠΎΠΆΠ΅ Π΄Π΅Π»Π°ΡŽΡ‚ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ скриптов.

ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. image2 5. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт-image2 5. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image2 5. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ…ΠΎΡ‡Ρƒ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ вас ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ JavaScript ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹ ΡƒΠΏΡ€ΠΎΡ‰Π°ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ вСбмастСра, ΡƒΠ»ΡƒΡ‡ΡˆΠ°ΡŽΡ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» сайта ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ Π² ΠΏΡ€ΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΈ. Π˜Ρ… бСзопасно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ошибка Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΌΠΎΠ΄ΡƒΠ»Π΅ Π½Π΅ прСдставляСт ΡƒΠ³Ρ€ΠΎΠ·Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ всСй систСмы. Но слСдуСт ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ – нСсмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ прописанныС сцСнарии Π΄Π΅Π»Π°ΡŽΡ‚ сайт ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, большоС количСство Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ ΠΈ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… ΠΎΠΊΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ»ΠΎΡ…ΠΎ ΠΏΠΎΠ²Π»ΠΈΡΡ‚ΡŒ Π½Π° ΠΏΠΎΡΠ΅Ρ‰Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΈ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ сайта Π² поискС.

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

Как Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚Π°-Ρ‚Π΅Π³, скрипт ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΊΠΎΠ΄ Π½Π° сайт?

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠ΅Ρ‚Π°-Ρ‚Π΅Π³ΠΎΠ² трСбуСтся Π² случаях, ΠΊΠΎΠ³Π΄Π° ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ рСсурс Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΠΎΠ΄Ρ‚Π²Π΅Ρ€Π΄ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΎ владСния Π΄ΠΎΠΌΠ΅Π½ΠΎΠΌ (Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎΠΌΠ΅Π½). Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ своСм ΠΌΠ΅Ρ‚Π°-Ρ‚Π΅Π³ΠΈ Π½ΡƒΠΆΠ½Ρ‹ для ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊΠΎΡ€ΠΏΠΎΡ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠΉ ΠΏΠΎΡ‡Ρ‚Ρ‹ Π½Π° Π΄ΠΎΠΌΠ΅Π½Π΅ ΠΈΠ»ΠΈ рСгистрации Π² сСрвисах Π²Ρ€ΠΎΠ΄Π΅ ЯндСкс.ВСбмастСра ΠΈΠ»ΠΈ Google Search Console.

Π—Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ ΠΏΠ°ΠΏΠΊΡƒ Β«Π‘Π½ΠΈΠΏΠΏΠ΅Ρ‚Ρ‹Β», Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π² этой ΠΏΠ°ΠΏΠΊΠ΅ сниппСт head:

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

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

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

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ сниппСт head являСтся Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ, Π² старых ΠΈΠ»ΠΈ сторонних ΡˆΠ°Π±Π»ΠΎΠ½Π°Ρ… ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ. Π’ этом случаС Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΊΠ°Ρ‚ΡŒ ΡΠ΅ΠΊΡ†ΠΈΡŽ Π² Ρ„Π°ΠΉΠ»Π΅ layouts.layout.liquid ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ измСнСния Ρ‚Π°ΠΌ. Если Π’Ρ‹ Π½Π΅ Π²Π»Π°Π΄Π΅Π΅Ρ‚Π΅ языком HTML Π² достаточной стСпСни ΠΈ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Π² своих силах, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто ΠΏΡ€ΠΈΡΠ»Π°Ρ‚ΡŒ Π² Ρ‚Π΅Ρ…Π½ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ ΠΌΠ΅Ρ‚Π°-Ρ‚Π΅Π³, ΠΈ ΠΌΡ‹ ΠΏΠΎΠΌΠΎΠΆΠ΅ΠΌ Π’Π°ΠΌ Π΅Π³ΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ.

Помимо ΠΌΠ΅Ρ‚Π°-Ρ‚Π΅Π³ΠΎΠ², ΠΈΠ½ΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±Π½ΠΎΡΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π½Π° своСм сайтС ΠΎΠ½Π»Π°ΠΉΠ½-ΠΊΠΎΠ½ΡΡƒΠ»ΡŒΡ‚Π°Π½Ρ‚, ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΏΠ»Π°Π²Π°ΡŽΡ‰ΡƒΡŽ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π·Π²ΠΎΠ½ΠΊΠ° ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Π½Π° всСх страницах сайта.

Π‘ΠΏΠ΅Ρ€Π²Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ JavaScript-ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдоставляСтся создатСлСм Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°. Π—Π°Ρ‚Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π² бэк-офисС Ρ€Π°Π·Π΄Π΅Π» «Настройки => Π‘Ρ‡Π΅Ρ‚Ρ‡ΠΈΠΊΠΈ ΠΈ ΠΊΠΎΠ΄Ρ‹Β», Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»Π΅ «javascript-ΠΊΠΎΠ΄ для Π²Ρ‹Π²ΠΎΠ΄Π° Π½Π° всСх страницах ΠΌΠ°Π³Π°Π·ΠΈΠ½Π°»:

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

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅, Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ здСсь, появляСтся Π² ΠΈΡ‚ΠΎΠ³ΠΎΠ²ΠΎΠΌ HTML-ΠΊΠΎΠ΄Π΅ страницы нСпосрСдствСнно ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌ Ρ‚Π΅Π³ΠΎΠΌ

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

Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ скрипт Π½Π° сторонний сайт

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π₯Π°Π±Ρ€! Π­Ρ‚ΠΎ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ пост Π² нашСм Π±Π»ΠΎΠ³Π΅. МногиС Π·Π½Π°ΡŽΡ‚ нас ΠΊΠ°ΠΊ Ρ‡Π°Ρ‚ для сайта, ΠΈΠΌΠ΅Π½Π½ΠΎ с Π½Π΅Π³ΠΎ ΠΌΡ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π»ΠΈ, Π° сСйчас Π·Π°Π½ΠΈΠΌΠ°Π΅ΠΌ Π»ΠΈΠ΄ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΠΎΠ·ΠΈΡ†ΠΈΠΈ Π² сфСрС бизнСс-мСссСндТСров. ΠœΡ‹ постСпСнно ΡΠ²ΠΎΠ»ΡŽΡ†ΠΈΠΎΠ½ΠΈΡ€ΠΎΠ²Π°Π»ΠΈ Π² комплСксноС бизнСс-Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ прСдоставляСт мноТСство возмоТностСй для ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ²: callback, ΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ с ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· мСссСндТСры, соцсСти, ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Π΅ прилоТСния, Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ АВБ, CRM-Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Π—Π° нСсколько Π»Π΅Ρ‚ ΠΌΡ‹ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Ρ€Π΅ΡˆΠΈΠ»ΠΈ мноТСство тСхничСских ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ, Π½Π°ΠΊΠΎΠΏΠΈΠ»ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ интСрСсного, Π° мСстами ΠΈ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΎΠΏΡ‹Ρ‚Π°, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅, писали свои костыли ΠΈ вСлосипСды. Π­Ρ‚ΠΈΠΌ постом ΠΌΡ‹ Π½Π°Ρ‡ΠΈΠ½Π°Π΅ΠΌ ΡΠ΅Ρ€ΠΈΡŽ статСй, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄Π΅ΠΌ Π΄Π΅Π»ΠΈΡ‚ΡŒΡΡ своим ΠΎΠΏΡ‹Ρ‚ΠΎΠΌ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ, выстраивания процСссов Π² ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅, расскаТСм ΠΏΡ€ΠΎ Π½Π°ΡˆΡƒ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ, тСхничСскиС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Π½Π°ΠΌ эффСктивно ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ сотни тысяч ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠ² ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ.

ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. zpbnfvc 9q274ie5wcyhvuo3pma. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт-zpbnfvc 9q274ie5wcyhvuo3pma. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° zpbnfvc 9q274ie5wcyhvuo3pma. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ…ΠΎΡ‡Ρƒ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ вас ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ JavaScript ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ.

Jivosite сСгодня это:

Входная Ρ‚ΠΎΡ‡ΠΊΠ°

Π’Π΅Π°Ρ‚Ρ€ начинаСтся с вСшалки, Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹ΠΉ сСрвис с ΠΊΠΎΠ΄Π°-вставки. Он являСтся Π²Ρ…ΠΎΠ΄Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ для любого сСрвиса ΠΈΠ»ΠΈ модуля Π½Π° сайт. Как ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π½Π°ΠΉΡ‚ΠΈ Π² инструкции установки, послС Ρ‡Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² HTML-ΠΊΠΎΠ΄ сайта, Π° дальшС происходит «магия», которая ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ скрипт.

Казалось Π±Ρ‹, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‰Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ скрипта Π½Π° сайт? По стандарту, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ просто Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Ρ‚Π΅Π³ script Π² HTML-ΠΊΠΎΠ΄ страницы. Но Π½Π° самом Π΄Π΅Π»Π΅ это Π²Π°ΠΆΠ½Ρ‹ΠΉ этап, ΡΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Ρ… ΠΊΠ°ΠΌΠ½Π΅ΠΉ. НапримСр, идСнтификация ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, рСализация Ρ€Π΅Π·Π΅Ρ€Π²Π½ΠΎΠ³ΠΎ ΠΊΠ°Π½Π°Π»Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ скрипта, настройка внСшнСго Π²ΠΈΠ΄Π° ΠΈΠ»ΠΈ Π»ΠΎΠ³ΠΈΠΊΠΈ, ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ страницы ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Но Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΎΠ±ΠΎ всСм ΠΏΠΎ порядку.

Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ

ΠŸΡ€ΠΎΡΡ‚ΠΎ Ρ‚Π°ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ скрипт ΠΌΠ°Π»ΠΎ ΠΊΠΎΠΌΡƒ интСрСсно, навСрняка скрипт выполняСт ΠΊΠ°ΠΊΡƒΡŽ-Π»ΠΈΠ±ΠΎ Π»ΠΎΠ³ΠΈΠΊΡƒ, Π° эта Π»ΠΎΠ³ΠΈΠΊΠ° привязана ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ. НапримСр, ID счСтчика, APP_ID ΠΎΡ‚ соцсСти, Π² нашСм случаС это ID созданного ΠΊΠ°Π½Π°Π»Π° связи. Π’ΠΎ Π΅ΡΡ‚ΡŒ скрипт Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² запросах Π½Π° сСрвСр. Для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Ρ‡Π΅Ρ€Π΅Π· ΠΊΠΎΠ΄-вставки Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.

ΠŸΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ID прямо Π² ссылкС Π½Π° Ρ„Π°ΠΉΠ» ΠΈ Π½Π° сторонС сСрвСра ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ способом ΠΏΡ€ΠΎΠΊΠΈΠ΄Ρ‹Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² скрипт. Π’ этом случаС сСрвСру Π½Π° Π»Π΅Ρ‚Ρƒ придСтся ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ ID Π² Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ JS-строку c ID, которая Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ file.js. Π­Ρ‚Π° Π»ΠΎΠ³ΠΈΠΊΠ° ΠΏΠΎΡ…ΠΎΠΆΠ° Π½Π° Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ JSONP-запросов.

ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. image loader. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ…ΠΎΡ‡Ρƒ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ вас ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ JavaScript ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ.
Π”ΠΎΠ»Π³ΠΎΠ΅ врСмя ΠΌΡ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΈ ΠΏΠΎ Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ, Π½ΠΎ минусы этого ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ добавляСтся «холостая» Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π° сСрвСр ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ сСрвСрного ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ.

Атрибут async β€” Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒΡΡ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ скрипта для построСния DOM, скрипт Π½Π°Π΄ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ сразу послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ. Π­Ρ‚ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ страницы, Π½ΠΎ Π΅ΡΡ‚ΡŒ ΠΈ обратная сторона ΠΌΠ΅Π΄Π°Π»ΠΈ: скрипт ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π΄ΠΎ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ DOM Π±ΡƒΠ΄Π΅Ρ‚ Π³ΠΎΡ‚ΠΎΠ² ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅.

Одна ΠΈΠ· самых популярных Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΉ, Ρ‚Π°ΠΊ Π΄Π΅Π»Π°ΡŽΡ‚ Π² Ρ‚ΠΎΠΌ числС ΠΈ ΠΊΡ€ΡƒΠΏΠ½Ρ‹Π΅ сСрвисы, отличаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ синтаксис, Π½ΠΎ ΡΡƒΡ‚ΡŒ Ρƒ всСх ΠΎΠ΄Π½Π°.

ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. image loader. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ…ΠΎΡ‡Ρƒ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ вас ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ JavaScript ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ.
Π£ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π΅ΡΡ‚ΡŒ Π΄Π²Π° основных минуса, ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ β€” услоТняСтся ΠΊΠΎΠ΄-вставки, Π° Π²Ρ‚ΠΎΡ€ΠΎΠΉ β€” ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ΅Π½ порядок выполнСния Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, Π² ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π½ΠΈΡ‡Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ ΠΌΠ΅ΠΆΠ΄Ρƒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΡŽ (async) ΠΈ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒΡŽ (Π±Π΅Π· async), Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°ΡŽΡ‚ 2-ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚.

Аналогично ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρƒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ ID Π² ссылкС Π½Π° Ρ„Π°ΠΉΠ», Π½ΠΎ ΠΈΠ·Π²Π»Π΅ΠΊΠ°Ρ‚ΡŒ Π΅Π³ΠΎ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, Π° Π½Π΅ Π½Π° сСрвСрС. Π­Ρ‚ΠΎ Π½Π΅ Ρ‚Π°ΠΊ просто, ΠΊΠ°ΠΊ каТСтся, Π½ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ. Π’ API Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° Π΅ΡΡ‚ΡŒ свойство document.currentScript, ΠΎΠ½ΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ссылку Π½Π° скрипт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½ ΠΈ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ выполняСтся Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. Зная это, ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ID, для этого Π½Π°Π΄ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ свойство document.currentScript.src ΠΈ рСгуляркой Π²Ρ‹Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ ΠΈΠ· Π½Π΅Π³ΠΎ ID.

ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. image loader. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ…ΠΎΡ‡Ρƒ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ вас ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ JavaScript ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ.
Π•ΡΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ Π½ΠΎ: document.currentScript поддСрТиваСтся Π½Π΅ всСми Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ. Для Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ², Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… это свойство, ΠΌΡ‹ ΠΏΡ€ΠΈΠ΄ΡƒΠΌΠ°Π»ΠΈ интСрСсный Ρ…Π°ΠΊ. Π’ ΠΊΠΎΠ΄Π΅ file.js ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ΅ Β«Ρ„Π΅ΠΉΠΊΠΎΠ²ΠΎΠ΅Β» ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚ΠΎΠ΅ Π² try/catch, послС Ρ‡Π΅Π³ΠΎ Π² стСкС ошибки Π±ΡƒΠ΄Π΅Ρ‚ URL скрипта, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка. URL Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ID, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Ρ‚ΠΎΠΉ ΠΆΠ΅ рСгуляркой.

Π’ΠΎΡ‚ такая магия получаСтся, Π½ΠΎ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. НСт Π·Π°ΠΌΠΎΡ€ΠΎΡ‡Π΅ΠΊ с порядком выполнСния, ΠΊΠΎΠ΄-вставки выглядит просто ΠΈ Π½Π΅Ρ‚ ΠΎΠ²Π΅Ρ€Ρ…Π΅Π΄Π° Π½Π° сСрвСрС. ПослСдниС Π΄Π²Π° Π³ΠΎΠ΄Π° ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄, хотя сам ΠΊΠΎΠ΄-вставки Ρƒ нас отличаСтся, Π½ΠΎ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ‚ΠΎΡ‚ ΠΆΠ΅.

Настройки

Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв Ρƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… скриптов Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ настройки, ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ Π·Π° внСшний Π²ΠΈΠ΄ ΠΈΠ»ΠΈ Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹. Π­Ρ‚ΠΈ настройки Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Β«ΠΏΡ€ΠΎΠΊΠΈΠ΄Ρ‹Π²Π°Ρ‚ΡŒΒ» Π² ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹ΠΉ скрипт, для этого ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π΄Π²Π° ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠΈΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π°.

К этому ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Ρƒ Ρ‚Π°ΠΊΠΆΠ΅ относится ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° настроСк Π² GET ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Ρ… url скрипта, Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρƒ #1 ΠΈΠ· Ρ€Π°Π·Π΄Π΅Π»Π° Β«Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡΒ». ΠŸΠΎΠ΄Ρ…ΠΎΠ΄ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Ссли ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Ρ…ΠΎΡ‡Π΅Ρ‚ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ настройки, Ρ‚ΠΎ Π΅ΠΌΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄-вставки ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° сайтС.

ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. image loader. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ…ΠΎΡ‡Ρƒ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ вас ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ JavaScript ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ.
Π­Ρ‚ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ всС настройки хранятся Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ ΠΈ ΠΈΡ… Π½Π΅ Π½Π°Π΄ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π½Π° сСрвСрС, Ρ€Π°Π·Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ всю ΡΠ²ΡΠ·Π°Π½Π½ΡƒΡŽ с этим бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ. Π“Π»Π°Π²Π½Ρ‹ΠΌ минусом Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° являСтся нСудобство для ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, Π΅ΠΌΡƒ приходится всС Π΄Π΅Π»Π°Ρ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, Π° Ссли настроСк ΠΌΠ½ΠΎΠ³ΠΎ, Ρ‚ΠΎ ΠΊΠΎΠ΄-вставки прСвращаСтся Π² слоТно ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡƒΡŽ ΠΏΡ€ΠΎΡΡ‚Ρ‹Π½ΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π»Π΅Π³ΠΊΠΎ Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ. А Ρ‡Ρ‚ΠΎΠ±Ρ‹ обновлСния вступили Π² силу, Π½Π°Π΄ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ сайт, это лишниС тСлодвиТСния Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΎΠ².

Π’Ρ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π² случаС нСобходимости измСнСния настроСк ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρƒ Π½Π΅ Π½Π°Π΄ΠΎ ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄-вставки, всС настройки хранятся Π½Π° сСрвСрС. Для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ настройки, Π½Π°Π΄ΠΎ Π·Π°ΠΉΡ‚ΠΈ Π² Π³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ панСль, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈ Π½Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒΒ». ПослС этого настройки автоматичСски примСнятся для Π΅Π³ΠΎ сайта!

ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. image loader. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ…ΠΎΡ‡Ρƒ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ вас ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ JavaScript ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ.
НС Π½Π°Π΄ΠΎ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π² ΠΊΠΎΠ΄Π΅ ΠΈ Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π°Π΄ΠΈ этого Π΄Π΅ΠΏΠ»ΠΎΠΉ, этим ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊ, Π΄Π°Π»Π΅ΠΊΠΈΠΉ ΠΎΡ‚ JavaScript, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Ρ‚Π°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΡƒΠ΄ΠΎΠ±Π½Π΅Π΅ ΠΈ ΠΏΡ€ΠΎΡ‰Π΅, поэтому ΠΈΠΌΠ΅Π½Π½ΠΎ Π΅Π³ΠΎ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ. Но Π·Π° удобство Π½Π°Π΄ΠΎ ΠΏΠ»Π°Ρ‚ΠΈΡ‚ΡŒ, Ρ‚Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π»ΠΎΠ³ΠΈΠΊΠΈ Π½Π° сСрвСрС ΠΈ ΠΏΠΎΠ΄Ρ€Π°Π·ΡƒΠΌΠ΅Π²Π°Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Π½Π° Π½Π΅Π³ΠΎ. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΡΡ‚Π°Ρ‚ΡŒΡΡ… ΠΌΡ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ расскаТСм, ΠΊΠ°ΠΊ ΠΌΡ‹ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ 150М Ρ‚Π°ΠΊΠΈΡ… запросов.

ΠžΠ±Ρ€Π°Ρ‚Π½Π°Ρ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ

ΠžΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ максимально быстро ΠΏΡ€ΠΈΠΉΡ‚ΠΈ ΠΊ Π·Ρ€Π΅Π»ΠΎΠΉ вСрсии ΠΊΠΎΠ΄Π°-вставки. ΠŸΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ ΡƒΠΆΠ΅ установлСнныС ΠΊΠΎΠ΄Ρ‹-вставки Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΡ€Π°ΠΉΠ½Π΅ слоТно. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΠ· нашСй ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ: Π² ΠΏΠ΅Ρ€Π²Ρ‹Ρ… вСрсиях ΠΌΡ‹ использовали числовыС ID, Π½ΠΎ ΠΏΠΎ сообраТСниям бСзопасности Π·Π°ΠΌΠ΅Π½ΠΈΠ»ΠΈ ΠΈΡ… Π½Π° число-Π±ΡƒΠΊΠ²Π΅Π½Π½Ρ‹Π΅. Оказалось, Ρ‡Ρ‚ΠΎ ΠΎΡ‡Π΅Π½ΡŒ слоТно Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ измСнСния ΡƒΠΆΠ΅ установлСнного ΠΊΠΎΠ΄Π°-вставки. МногиС Π΄Π°ΠΆΠ΅ Π½Π΅ Π·Π½Π°ΡŽΡ‚, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ HTML ΠΈ ΠΊΠ°ΠΊ устроСны сайты. НапримСр, сайт Π΄Π΅Π»Π°Π»ΠΈ фрилансСры, студия ΠΈΠ»ΠΈ сайт создавался Ρ‡Π΅Ρ€Π΅Π· CMS/конструктор ΠΈ Ρ‚. Π΄. Π’ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ случаСв наши ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с панСлью настроСк Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°. Π‘ Ρ‚Π΅Ρ… Π²Ρ€Π΅ΠΌΠ΅Π½ Ρƒ нас Π΄ΠΎ сих ΠΏΠΎΡ€ Π² nginx Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ°ΠΏΠ° Ρ€Π΅Π²Ρ€Π°ΠΉΡ‚Π° старых ID Π½Π° Π½ΠΎΠ²Ρ‹Π΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠΊΠΎΠ»ΠΎ 40К записСй.

Из-Π·Π° этой особСнности ΠΌΡ‹ Π²Ρ‹Π½ΡƒΠΆΠ΄Π΅Π½Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°-вставки ΠΏΡ€ΠΈ всСх Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΠ½Π³Π°Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π° нашСй памяти Π±Ρ‹Π»ΠΎ ΠΎΠΊΠΎΠ»ΠΎ 5.

Π˜Π·ΠΎΠ»ΡΡ†ΠΈΡ ΠΊΠΎΠ΄Π°

Π’Π°ΠΊ ΠΊΠ°ΠΊ скрипт ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π½Π° сторонний сайт, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ JavaScript ΠΈ CSS ΠΊΠΎΠ΄ сайта ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… сСрвисов, пСрвостСпСнной Ρ†Π΅Π»ΡŒΡŽ являСтся Π½Π΅ Π½Π°Π²Ρ€Π΅Π΄ΠΈΡ‚ΡŒ сайту, Ρ‡Ρ‚ΠΎΠ±Ρ‹ наш ΠΊΠΎΠ΄ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ» Π»ΠΎΠ³ΠΈΠΊΡƒ, Π° Ρ‚Π΅ΠΌ Π±ΠΎΠ»Π΅Π΅ Π½Π΅ сломал Π΅Π΅. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ JavaScript-ошибка, которая останавливаСт ΠΏΠΎΡ‚ΠΎΠΊ выполнСния, ΠΈΠ»ΠΈ стили, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‚ стили сайта. Но ΠΈ ΠΊΠΎΠ΄ сайта ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ°Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹ΠΉ скрипт, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° которая ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½ΠΎΠ΅ API, послС Ρ‡Π΅Π³ΠΎ ΠΊΠΎΠ΄ пСрСстаСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π΅ Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌ.

Π•ΡΡ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ изоляции ΠΊΠΎΠ΄Π°. НапримСр ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ прСфиксы Π² JS ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…, замыкания, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π·Π°ΡΠΎΡ€ΡΡ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ контСкст, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½Π°ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ Π‘Π­Πœ для стилСй. Но самый простой способ β€” это выполнСния ΠΊΠΎΠ΄Π° Π² iframe, ΠΎΠ½ Ρ€Π΅ΡˆΠ°Π΅Ρ‚ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ изоляции, Π½ΠΎ Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ограничСния. ΠœΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π³ΠΈΠ±Ρ€ΠΈΠ΄Π½Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚, ΠΏΡ€ΠΎ ΠΈΠ·ΠΎΠ»ΡΡ†ΠΈΡŽ ΠΊΠΎΠ΄Π° расскаТСм ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΡΡ‚Π°Ρ‚ΡŒΡΡ….

Π‘Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сайта

ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. image loader. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ…ΠΎΡ‡Ρƒ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ вас ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ JavaScript ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ.

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ onload β€” наступаСт послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Π΅Π±-страница ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π°, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ изобраТСния, стили ΠΈ внСшниС скрипты. ВаТная ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡ‚ΡŒ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ сайтов JS-Π»ΠΎΠ³ΠΈΠΊΠ°, сторонниС скрипты ΠΈ Ρ€Π΅ΠΊΠ»Π°ΠΌΠ° Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠΎ Π½Π°ΡΡ‚ΡƒΠΏΠ»Π΅Π½ΠΈΡŽ этого события. ΠžΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½Ρ‹ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠΌ для всСх ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… скриптов являСтся Π½Π΅ Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π½Π΅Π³Π°Ρ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ влияния Π½Π° это событиС.

Π­Ρ‚ΠΎ происходит Π² Ρ‚Π΅Ρ… случаях, ΠΊΠΎΠ³Π΄Π° сСрвСр, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ грузится скрипт, ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ Π΄ΠΎΠ»Π³ΠΎ ΠΈΠ»ΠΈ вовсС Π½Π΅ ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚: Ρ‚ΠΎΠ³Π΄Π° событиС onload откладываСтся ΠΈ дальнСйшая Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° страницы ΠΏΠΎ сути блокируСтся. Π’ случаС, ΠΊΠΎΠ³Π΄Π° сСрвСр нСдоступСн, событиС onload наступит Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ истСчСнии Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π° запроса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ большС 60 с. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ Π½Π° сСрвСрС ΠΎΡ‚Π΄Π°Ρ‡ΠΈ скрипта ΠΏΠΎ сути Β«Π»ΠΎΠΌΠ°ΡŽΡ‚Β» сайты, Ρ‡Ρ‚ΠΎ являСтся нСдопустимым.

Π›ΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΠΏΡ‹Ρ‚
Π’ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ я Ρ€Π°Π±ΠΎΡ‚Π°Π» Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Ρ‹Π» сайт с ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌ ΠΎΠ½Π»Π°ΠΉΠ½ΠΎΠΌ 100К, ΠΎΠ½Π»Π°ΠΉΠ½-знакомства. Π’ Ρ‚Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½Π° Π±Ρ‹Π»ΠΈ попопулярны ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡΡ Π² соцсСтях». Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΈ появились Π½Π° сайтС, Π½Π°Π΄ΠΎ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ скрипт (sdk) ΠΎΡ‚ Π½ΡƒΠΆΠ½Ρ‹Ρ… соцсСтСй. Π’ ΠΎΠ΄ΠΈΠ½ прСкрасный дСнь ΠΊ Π½Π°ΠΌ ΠΏΡ€ΠΈΠ±Π΅ΠΆΠ°Π»ΠΈ ΠΊΠΎΠ»Π»Π΅Π³ΠΈ ΠΈ сказали, Ρ‡Ρ‚ΠΎ наш сайт Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚! ΠœΡ‹ посмотрСли Π² ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… всС Π±Ρ‹Π»ΠΎ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ, ΠΈ сначала Π½Π΅ поняли, Π² Ρ‡Π΅ΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°. Когда Π½Π°Ρ‡Π°Π»ΠΈ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ Π³Π»ΡƒΠ±ΠΆΠ΅, поняли, Ρ‡Ρ‚ΠΎ cdn-сСрвСра Twitter ΠΏΡ€ΠΈΠ»Π΅Π³Π»ΠΈ, ΠΈ ΠΈΡ… SDK Π½Π΅ ΠΌΠΎΠ³ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΡΡ, это Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π»ΠΎ Π½Π°ΠΌ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ сайта Π½Π°

1.5 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹. Π’ΠΎ Π΅ΡΡ‚ΡŒ послС открытия сайта загруТался нСбольшой HTML(ΠΎΡΡ‚Π°Π»ΡŒΠ½ΠΎΠ΅ SPA) ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· 1.5 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ всС ΠΏΡ€ΠΎΠ³Ρ€ΡƒΠΆΠ°Π»ΠΎΡΡŒ, срабатывал Ρ‚ΠΎΡ‚ самый Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚ запроса. Нам ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ экстрСнно ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ хотфикс ΠΈ ΡƒΠ±ΠΈΡ€Π°Ρ‚ΡŒ ΠΈΡ… скрипт с сайта. ПослС ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π° этой ситуации ΠΌΡ‹ Ρ€Π΅ΡˆΠΈΠ»ΠΈ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π±Π»ΠΎΠΊ Β«ΠŸΠΎΠ΄Π΅Π»ΠΈΡ‚ΡŒΡΡΒ» совсСм.

Π’ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… вСрсиях ΠΊΠΎΠ΄Π°-вставки Ρƒ нас Π½Π΅ Π±Ρ‹Π»ΠΎ это ΡƒΡ‡Ρ‚Π΅Π½ΠΎ, ΠΈ Π² случаС тСхничСских ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ Π½Π° нашСй сторонС ΠΌΡ‹, мягко говоря, доставляли нСудобства нашим ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ, Π½ΠΎ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ ΠΌΡ‹ это исправили.

РСшСниС простоС, Π½Π°Π΄ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° событиС ΠΏΠΎΠ»Π½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сайта ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ скрипт, для этого Π½Π°Π΄ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠ΄-вставки, Π° Π½Π΅ Ρ‚Π΅Π³ script.

Google Pagespeed

ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. image loader. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ…ΠΎΡ‡Ρƒ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ вас ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ JavaScript ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ.
Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Π°Π½Π°Π»ΠΈΠ·Π° мобильной вСрсии habr.com

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΡƒΠ΄Π΅Π»ΡΡŽΡ‚ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ скорости Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сайта, ΠΏΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ исслСдованиям это Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ влияСт Π½Π° ΠΏΡ€ΠΈΠ±Ρ‹Π»ΡŒ, ΠΊ Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ поисковыС Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΡ‹ ΠΏΡ€ΠΈ Ρ€Π°Π½ΠΆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ стали ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ страницы. Π’ связи с этим Π²Π»Π°Π΄Π΅Π»ΡŒΡ†Ρ‹ сайтов часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ инструмСнты для ΠΎΡ†Π΅Π½ΠΊΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ сайта. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π½Π° сайт, Ρ‚Π°ΠΊ ΠΎΠ½ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ влияСт Π½Π° Π΅Π³ΠΎ врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.

Π­Ρ‚ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½Π°Π΄ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ соврСмСнныС Ρ‚Π΅Ρ…Π½ΠΈΠΊΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ страниц. НапримСр ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Gzip, ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ статичСскиС Ρ„Π°ΠΉΠ»Ρ‹ ΠΈ запросы, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π°ΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΡƒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ скриптов, сТатиС статики соврСмСнными Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠ°ΠΌΠΈ Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ WebP/Brotli/etc ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. ΠœΡ‹ рСгулярно ΠΏΡ€ΠΎΠ²ΠΎΠ΄ΠΈΠΌ Π°ΡƒΠ΄ΠΈΡ‚ ΠΈ Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅ΠΌ Π½Π° прСдупрСТдСния ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ соврСмСнным трСбованиям.

Π’ ΠΏΠ΅Ρ€Π²Ρ‹Ρ… вСрсиях ΠΌΡ‹ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π»ΠΈ статику с сСрвСров прилоТСния. Но Ρƒ Ρ‚Π°ΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° Π΅ΡΡ‚ΡŒ минусы: Π΄ΠΎΡ€ΠΎΠ³ΠΎΠΉ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ, ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΎΡ‚ посСтитСлСй сайтов ΠΈ излишняя Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½Π° ΠΊΠ°Π½Π°Π» сСрвСров. МоТно Π»Π΅Π³ΠΊΠΎ Π·Π°Π±ΠΈΡ‚ΡŒ ΠΊΠ°Π½Π°Π» сСрвСров прилоТСния ΠΏΡ€ΠΈ Ρ…Π°Π±Ρ€-эффСктС сайтов, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ статики ΠΎΡ‡Π΅Π½ΡŒ «тяТСлый».

Π‘ Ρ†Π΅Π»ΡŒΡŽ экономии Π±ΡŽΠ΄ΠΆΠ΅Ρ‚Π°, ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ сСтСвой Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ статику со ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… для этого сСрвСров. МоТно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π³ΠΎΡ‚ΠΎΠ²Ρ‹Π΅ CDN-ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Ρ‹, Π½ΠΎ Π½Π° Π±ΠΎΠ»ΡŒΡˆΠΈΡ… ΠΌΠ°ΡΡˆΡ‚Π°Π±Π°Ρ… это нСдСшСво ΠΈ приходится ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ возмоТностями, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ прСдоставляСт Ρ‚ΠΎΡ‚ ΠΈΠ»ΠΈ ΠΈΠ½ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€.

ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. image loader. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ…ΠΎΡ‡Ρƒ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ вас ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ JavaScript ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ.

ΠœΡ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π»ΠΈ это просто, Π·Π°ΠΊΠ°Π·Π°Π»ΠΈ Π½Π΅Π΄ΠΎΡ€ΠΎΠ³ΠΈΠ΅ сСрвСра Π² России, Π•Π²Ρ€ΠΎΠΏΠ΅ ΠΈ АмСрикС с Π±Π΅Π·Π»ΠΈΠΌΠΈΡ‚Π½Ρ‹ΠΌ Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠΎΠΌ ΠΈ ΡˆΠΈΡ€ΠΎΠΊΠΈΠΌ ΠΊΠ°Π½Π°Π»ΠΎΠΌ. Π­Ρ‚ΠΎ дСшСво, Π½Π΅ Π½Π°ΠΊΠ»Π°Π΄Ρ‹Π²Π°Π΅Ρ‚ Π½Π° нас Π½ΠΈΠΊΠ°ΠΊΠΈΡ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠΉ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ всС ΠΏΠΎΠ΄ сСбя, Π° ΠΎΡ‚ΠΊΠ°Π·ΠΎΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ обСспСчиваСтся Π·Π° счСт ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰Π΅Π³ΠΎ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. Π’ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ с Π½Π°ΡˆΠΈΡ… CDN-сСрвСров загруТаСтся 1Π’Π‘ статики Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΎ.

ΠžΡ‚ΠΊΠ°Π·ΠΎΡƒΡΡ‚ΠΎΠΉΡ‡ΠΈΠ²ΠΎΡΡ‚ΡŒ

К соТалСнию, ΠΌΠΈΡ€ Π½Π΅ ΠΈΠ΄Π΅Π°Π»Π΅Π½, ΡΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠΆΠ°Ρ€Ρ‹, Π°ΠΏΠ»ΠΈΠ½ΠΊΠΈ ΠΏΠ°Π΄Π°ΡŽΡ‚, Π”Π¦ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ уходят ΠΏΠΎΠ΄ Π²ΠΎΠ΄Ρƒ, РКН Π±Π»ΠΎΡ‡ΠΈΡ‚ подсСти, Π° люди ΡΠΎΠ²Π΅Ρ€ΡˆΠ°ΡŽΡ‚ ошибки. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΠΌΠ΅Ρ‚ΡŒ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ситуации ΠΈ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.

ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³
Π‘Π½Π°Ρ‡Π°Π»Π° Π½Π°Π΄ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ. МоТно, ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ, ΠΏΠΎΠ΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒ, ΠΏΠΎΠΊΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ ΠΏΡ€ΠΈΠ΄ΡƒΡ‚ ΠΈ ΠΏΠΎΠΆΠ°Π»ΡƒΡŽΡ‚ΡΡ, Π½ΠΎ Π»ΡƒΡ‡ΡˆΠ΅ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ ΠΈ Π°Π»Π΅Ρ€Ρ‚Ρ‹, Π° послС Ρ€Π΅Π»ΠΈΠ·ΠΎΠ², ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ всС Π»ΠΈ Π² порядкС. ΠœΡ‹ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠΌ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΊΠ°ΠΊ сСрвСрных, Ρ‚Π°ΠΊ ΠΈ клиСнтских, ΠΈ Ссли Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ пошло Π½Π΅ Ρ‚Π°ΠΊ, ΠΌΡ‹ сразу это Π²ΠΈΠ΄ΠΈΠΌ. НапримСр, ΡƒΠΌΠ΅Π½ΡŒΡˆΠΈΠ»ΠΎΡΡŒ количСство Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΈΠ»ΠΈ Π°Π½ΠΎΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΉ всплСск Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π½Π° CDN-сСрвСрах.

ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. image loader. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ…ΠΎΡ‡Ρƒ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ вас ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ JavaScript ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ.
Π‘ΡƒΠΌΠΌΠ°Ρ€Π½ΠΎΠ΅ ΠΊΠΎΠ»-Π²ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΠΊ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΏΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ вСрсии

Π‘Π±ΠΎΡ€ ошибок
JavaScript ΠΎΡ‡Π΅Π½ΡŒ спСцифичный язык, ΠΈ Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π² Π½Π΅ΠΌ ΠΎΡˆΠΈΠ±ΠΊΡƒ нСслоТно. К Ρ‚ΠΎΠΌΡƒ ΠΆΠ΅ Π·ΠΎΠΎΠΏΠ°Ρ€ΠΊ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² Π² соврСмСнном Π²Π΅Π±Π΅ ΠΎΡ‡Π΅Π½ΡŒ большой; Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² послСднСм Chrome, Π½Π΅ Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² Safari ΠΈΠ»ΠΈ Firefox. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ ΠΎΡ‡Π΅Π½ΡŒ Π²Π°ΠΆΠ½ΠΎ Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ сбор ошибок ΠΈΠ· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° ΠΈ воврСмя Ρ€Π΅Π°Π³ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π° всплСски. Если ваш ΠΊΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² iframe, Ρ‚ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это ΠΌΠΎΠΆΠ½ΠΎ отслСТивая Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ window.onerror ΠΈ Π² случаС ошибки ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° сСрвСр. Если ΠΊΠΎΠ΄ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π²Π½Π΅ iframe, Ρ‚ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ сбор ошибок ΠΎΡ‡Π΅Π½ΡŒ слоТно.

ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. image loader. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ…ΠΎΡ‡Ρƒ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ вас ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ JavaScript ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ.
Π‘ΡƒΠΌΠΌΠ°Ρ€Π½ΠΎΠ΅ ΠΊΠΎΠ»-Π²Π° ошибок со всСх сайтов ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ²

ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. image loader. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ…ΠΎΡ‡Ρƒ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ вас ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ JavaScript ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ.
Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΏΠΎ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ ошибкС

CDN Failover
Π’Ρ‹ΡˆΠ΅ я ΡƒΠΆΠ΅ писал, Ρ‡Ρ‚ΠΎ всС ΠΈΠΌΠ΅Π΅Ρ‚ свойство ΠΏΠ°Π΄Π°Ρ‚ΡŒ, поэтому Π²Π°ΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ эти ситуации ΠΈ Π»ΡƒΡ‡ΡˆΠ΅ β€” автоматичСски. ΠœΡ‹ ΠΏΡ€ΠΎΡˆΠ»ΠΈ нСсколько этапов Ρ„Π°Π»Π»Π±Π΅ΠΊΠ° CDN-сСрвСров, Π½Π°Ρ‡ΠΈΠ½Π°Π»ΠΈ с Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ, Π° Π² ΠΈΡ‚ΠΎΠ³Π΅ нашли способ Π΄Π΅Π»Π°Ρ‚ΡŒ это автоматичСски ΠΈ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ для Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°.

Π’ Ρ€ΡƒΡ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ это Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ просто: Π°Π΄ΠΌΠΈΠ½Π°ΠΌ ΠΏΡ€ΠΈΡ…ΠΎΠ΄ΠΈΠ»ΠΎ БМБ ΠΎ Ρ‚ΠΎΠΌ Ρ‡Ρ‚ΠΎ CDN ΠΏΡ€ΠΈΠ»Π΅Π³, ΠΎΠ½ΠΈ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Π»ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ манипуляции, послС Ρ‡Π΅Π³ΠΎ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ Π½Π°Ρ‡ΠΈΠ½Π°Π» Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒΡΡ с сСрвСров прилоТСния. Π­Ρ‚ΠΎ ΠΌΠΎΠ³Π»ΠΎ Π·Π°Π½ΡΡ‚ΡŒ ΠΎΡ‚ 5 ΠΌΠΈΠ½ΡƒΡ‚ Π΄ΠΎ 2 часов Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

Для Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ автоматичСского Ρ„Π°Π»Π»Π±Π΅ΠΊΠ° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠ°ΠΊ-Ρ‚ΠΎ Π΄Π΅Ρ‚Π΅ΠΊΡ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° скрипта Π½Π°Ρ‡Π°Π»Π°ΡΡŒ, Π½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ это Π½Π΅ Ρ‚Π°ΠΊ просто, ΠΊΠ°ΠΊ каТСтся. Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ Π½Π΅ Π΄Π°Π΅Ρ‚ возмоТности ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹Π΅ состояния Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ‚Π΅Π³Π° script, ΠΊΠ°ΠΊ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ событиС onprogress Π² XMLHttpRequest, Π° сообщаСт Ρ‚ΠΎΠ»ΡŒΠΊΠΎ событиС ΠΏΠΎ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ выполнСния скрипта. Π’Π°ΠΊΠΆΠ΅ нСльзя Π·Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ»Π΅ΠΌΠΎΠ΅ врСмя ΡƒΠ·Π½Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ сСрвСр Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ нСдоступСн, СдинствСнноС событиС onerror срабатываСт ΠΏΠΎ истСчСнии Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π° запроса, большС 1 ΠΌΠΈΠ½ΡƒΡ‚Ρ‹. Π—Π° ΠΌΠΈΠ½ΡƒΡ‚Ρƒ ΠΏΠΎΡΠ΅Ρ‚ΠΈΡ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠΆΠ΅ ΠΏΠΎΠΊΠΈΠ½ΡƒΡ‚ΡŒ страницу, Π° скрипт Ρ‚Π°ΠΊ ΠΈ Π½Π΅ загрузится.

ΠœΡ‹ ΠΏΡ€ΠΎΠ±ΠΎΠ²Π°Π»ΠΈ Ρ€Π°Π·Π½Ρ‹Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹, простыС ΠΈ слоТныС, Π½ΠΎ Π² ΠΈΡ‚ΠΎΠ³Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΊ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡŽ с ping-запросом CDN-сСрвСра. Π Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ это Ρ‚Π°ΠΊ: ΠΌΡ‹ сначала ΠΏΠΈΠ½Π³ΡƒΠ΅ΠΌ CDN-сСрвСр, Ссли ΠΎΡ‚Π²Π΅Ρ‚ΠΈΠ», Ρ‚ΠΎ Ρ‚ΠΎΠ³Π΄Π° ΠΌΡ‹ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ с Π½Π΅Π³ΠΎ. Π§Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту схСму ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎ для Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° ΠΈ Π½Π°ΡˆΠΈΡ… сСрвСров, ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Π»Π΅Π³ΠΊΠΈΠΉ HEAD-запрос (Π±Π΅Π· Ρ‚Π΅Π»Π°), Π° ΠΏΡ€ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ°Ρ… ΠΌΡ‹ Π΅Π³ΠΎ Π½Π΅ Π΄Π΅Π»Π°Π΅ΠΌ, ΠΏΠΎΠΊΠ° Π½Π΅ обновится вСрсия Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°, Ρ‚. ΠΊ. Π²ΠΈΠ΄ΠΆΠ΅Ρ‚ ΡƒΠΆΠ΅ Π² кСшС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°.

ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. image loader. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ…ΠΎΡ‡Ρƒ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ вас ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ JavaScript ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ ΠΎΡ‡Π΅Π½ΡŒ быстрый ΠΈ автоматичСски Π΄Π΅Ρ‚Π΅ΠΊΡ‚ доступности сСрвСра статики ΠΈ Π² случаС падСния практичСски Π±Π΅Π· Π·Π°Π΄Π΅Ρ€ΠΆΠ΅ΠΊ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π½Π° Ρ€Π΅Π·Π΅Ρ€Π²Π½Ρ‹ΠΉ сСрвСр.

Loader

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ свой скрипт Π½Π° сторонний сайт, Π½Π°Π΄ΠΎ ΡƒΡ‡Π΅ΡΡ‚ΡŒ мноТСство ΠΌΠΎΠΌΠ΅Π½Ρ‚ΠΎΠ², Π½ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту Π»ΠΎΠ³ΠΈΠΊΡƒ Π² ΠΊΠΎΠ΄Π΅-вставки слоТно, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ просто прСвратится Π² «мясо». Но Π΄Π΅Π»Π°Ρ‚ΡŒ это всС Ρ€Π°Π²Π½ΠΎ Π½Π°Π΄ΠΎ, для этого ΠΌΡ‹ создали нСбольшой ΠΌΠΎΠ΄ΡƒΠ»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ управляСт всСй этой Π»ΠΎΠ³ΠΈΠΊΠΎΠΉ Β«ΠΏΠΎΠ΄ ΠΊΠ°ΠΏΠΎΡ‚ΠΎΠΌΒ» ΠΈ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ основной ΠΊΠΎΠ΄ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°. Он загруТаСтся Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ CDN Failover, ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅, ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ со старыми ΠΊΠΎΠ΄Π°ΠΌΠΈ-вставки, А/Π‘ тСстированиС, ΠΏΠΎΡΡ‚Π΅ΠΏΠ΅Π½Π½ΡƒΡŽ Π²Ρ‹ΠΊΠ»Π°Π΄ΠΊΡƒ Π½ΠΎΠ²ΠΎΠΉ вСрсии Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° ΠΈ мноТСство Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.

ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. image loader. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт Ρ„ΠΎΡ‚ΠΎ. ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт-image loader. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ°ΠΊ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрипт Π½Π° сайт. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° image loader. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ я Ρ…ΠΎΡ‡Ρƒ Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒ вас ΠΊΠ°ΠΊ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ JavaScript ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ.
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ поэтапно ΠΌΡ‹ ΠΏΡ€ΠΈΡˆΠ»ΠΈ ΠΊ схСмС, которая ΠΏΠΎΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ основныС кСйсы Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π°. Она Π΄ΠΎΠΊΠ°Π·Π°Π»Π° свою ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ Π·Π° Π³ΠΎΠ΄Ρ‹ использования Π½Π° большом количСствС Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… сайтов. ΠŸΡ€ΠΈ этом ΠΊΠΎΠ΄-вставки остаСтся простым ΠΈ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΌ, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π² Π½Π΅ΠΌ Π½Π΅Ρ‚ Π½ΠΈΠΊΠ°ΠΊΠΎΠΉ Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈ ΠΌΡ‹ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΠΎΠΆΠ΅ΠΌ Π΅Π΅ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ, ΠΏΡ€ΠΈ этом Π½Π΅ заставляя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠ΄-вставки.

Π‘Ρ‚ΠΎΡ€ΠΎΠ½Π½ΠΈΠ΅ сСрвисы

Ну ΠΈ напослСдок стоит ΡƒΠΏΠΎΠΌΡΠ½ΡƒΡ‚ΡŒ ΠΏΡ€ΠΎ сторонниС сСрвисы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ΡΡ Π½Π° сайт ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠΌ-Π»ΠΈΠ±ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‚ с сайтами: поисковыС Π±ΠΎΡ‚Ρ‹, Π°Π½Π°Π»ΠΈΡ‚ΠΈΠΊΠ°, Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ парсСры ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π­Ρ‚ΠΈ сСрвисы ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΎΡ‚ΠΏΠ΅Ρ‡Π°Ρ‚ΠΎΠΊ Π½Π° Ρ€Π°Π±ΠΎΡ‚Π΅, ΠΏΡ€ΠΎ это Ρ‚ΠΎΠΆΠ΅ Π½Π΅ ΡΡ‚ΠΎΠΈΡ‚ΡŒ Π·Π°Π±Ρ‹Π²Π°Ρ‚ΡŒ. РасскаТу нСсколько случаСв ΠΈΠ· нашСй ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠΈ.

GoogleBot
Π’ нашСм ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€Π° Π΅ΡΡ‚ΡŒ функция Β«ΠŸΠΎΡΠ΅Ρ‚ΠΈΡ‚Π΅Π»ΠΈΒ», Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ посСтитСлСй, Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°ΡŽΡ‰ΠΈΡ… сайт, ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎ Π½ΠΈΠΌ: врСмя Π½Π° сайтС, страницу, число просмотрСнных страниц ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅. Π’ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹ Π½Π°Ρ‡Π°Π»ΠΈ ΠΆΠ°Π»ΠΎΠ²Π°Ρ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Ρƒ Π½ΠΈΡ… «висят» посСтитСли с Π΄Ρ€ΡƒΠ³ΠΈΡ… сайтов, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Π½Π° сайтС ΠΏΠΎ ΠΏΡ€ΠΎΠ΄Π°ΠΆΠ΅ Π°ΠΉΡ„ΠΎΠ½ΠΎΠ², ΠΊΠ»ΠΈΠ΅Π½Ρ‚, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ якобы ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π° страница Β«ΠšΡƒΠΏΠΈΡ‚ΡŒ ΠΊΡ€Π΅ΠΌ для Π»ΠΈΡ†Π°Β». Когда Π½Π°Ρ‡Π°Π»ΠΈ Ρ€Π°Π·Π±ΠΈΡ€Π°Ρ‚ΡŒΡΡ, выяснили, Ρ‡Ρ‚ΠΎ это GoogleBot, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ ΠΎΡ‚ сайта ΠΊ сайту ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π» LocalStorage ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΈ впослСдствии ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π» Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° сСрвСр.

РСшСниС простоС, Π½Π° сСрвСрС Π½Π°Ρ‡Π°Π»ΠΈ ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ GoogleBot.

ЯндСкс.ΠœΠ΅Ρ‚Ρ€ΠΈΠΊΠ°
Π’ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ΅ Π΅ΡΡ‚ΡŒ Π·Π°ΠΌΠ΅Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½Π°Ρ функция β€” Π²Π΅Π±Π²ΠΈΠ·ΠΎΡ€, которая позволяСт ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π²ΠΈΠ΄Π΅Π» ΠΈ Π΄Π΅Π»Π°Π» ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, Π² Π²ΠΈΠ΄Π΅ скринкаста. Для этого ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠ° записываСт всС дСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π° послС ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Π±ΠΎΡ‚ ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎ сайтам, ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ Ρ‚Π΅ ΠΆΠ΅ дСйствия ΠΈ записываСт это. ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π±Ρ‹Π»Π° Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ для эмуляции мобильного Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΏΠΎ нашим Π΄Π°Π½Π½Ρ‹ΠΌ, Π²ΠΊΠ»ΡŽΡ‡Π°Π»ΡΡ Firefox Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ мобильной эмуляции, Π½ΠΎ ΠΏΡ€ΠΈ этом userAgent Ρƒ Π±ΠΎΡ‚Π° Π±Ρ‹Π» дСсктопный.

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

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠ² Π½Π°ΠΌΠ½ΠΎΠ³ΠΎ большС, Π½ΠΎ, Π΄ΡƒΠΌΠ°ΡŽ, этого Π±ΡƒΠ΄Π΅Ρ‚ достаточно для понимания сути.

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅

Надо ΠΎΡ‡Π΅Π½ΡŒ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΊ ΠΊΠΎΠ΄Ρƒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΎΡ‚Π΄Π°Π΅Ρ‚Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ для вставки Π½Π° сайт. ΠœΡ‹ ΠΊΡ€Π°Ρ‚ΠΊΠΎ рассказали, с ΠΊΠ°ΠΊΠΈΠΌΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°ΠΌΠΈ ΠΌΡ‹ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ ΠΈ ΠΊΠ°ΠΊ ΠΈΡ… Ρ€Π΅ΡˆΠ°Π»ΠΈ. Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… ΡΡ‚Π°Ρ‚ΡŒΡΡ… ΠΌΡ‹ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ расскаТСм ΠΏΡ€ΠΎ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ упомянутыС Ρ‚Π΅ΠΌΡ‹ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅ участки нашСй систСмы, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ NodeJS Π² качСствС бэкСнда, ΠΊΠ°ΠΊ Π΄Π΅Ρ€ΠΆΠΈΠΌ Π½Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ всСх 270К сайтов Π·Π° счСт ΠΏΡ€ΠΎΠ΄ΡƒΠΌΠ°Π½Π½ΠΎΠ³ΠΎ ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π½Π΅ боимся Ρ…Π°Π±Ρ€Π°-эффСкта ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΊ Π½Π°ΠΌ сайтов, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅ΠΌ Π² ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ распрСдСлСнной ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Бпасибо Π·Π° Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π°Π΄Ρ‹ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚ΡŒ Π½Π° ваши вопросы ΠΈ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ!

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

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

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