ΠΊΡƒΠ΄Π° Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ скрипт Π² html

Как ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ скрипты для сайта – JavaScript Π² HTML

ΠΊΡƒΠ΄Π° Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ скрипт Π² html. skripty dlja sajta javascript html. ΠΊΡƒΠ΄Π° Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ скрипт Π² html Ρ„ΠΎΡ‚ΠΎ. ΠΊΡƒΠ΄Π° Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ скрипт Π² html-skripty dlja sajta javascript html. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΡƒΠ΄Π° Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ скрипт Π² html. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° skripty dlja sajta javascript html. Π’ этом руководствС ΠΌΡ‹ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ Π²Π°ΠΌ, ΠΊΠ°ΠΊ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ JavaScript Π² HTML. Начало Π±ΡƒΠ΄Π΅Ρ‚ посвящСно ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΉ ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ JavaScript, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΎΡΡ‚Π°Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ руководства Π±ΡƒΠ΄Π΅Ρ‚ сфокусирована Π½Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… добавлСния JavaScript Π² HTML.

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

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ статичСский ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π°Π±ΠΎΡ€ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΉ, Ρ‚ΠΎΠ³Π΄Π° HTML Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ для вас эту Ρ€Π°Π±ΠΎΡ‚Ρƒ. Однако, статичСскиС страницы ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, Π½ΠΎ ΡƒΠ²Π΅Ρ€Π΅Π½Π½ΠΎ становятся Π²Ρ‡Π΅Ρ€Π°ΡˆΠ½ΠΈΠΌ Π΄Π½Ρ‘ΠΌ. Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° сСгодня ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ динамичСскиС слайд-ΡˆΠΎΡƒ, Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ мСню. Они Ρ€Π°ΡΡˆΠΈΡ€ΡΡŽΡ‚ восприятиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ динамичности сайту. Π­Ρ‚ΠΎ достигаСтся использованиСм скриптовых языков ΠΈ JavaScript – ΠΎΠ΄ΠΈΠ½ ΠΈΠ· самых извСстных Π² этом ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΈ. Он позволяСт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ сайты, Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Π₯отя, Π΅ΡΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… доступных языков, Π½ΠΎ Π½Π΅ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· Π½ΠΈΡ… Π½Π΅ достиг Ρ‚Π°ΠΊΠΎΠΉ популярности, ΠΊΠ°ΠΊ JavaScript. Для раскрытия ΠΎΠ³Ρ€ΠΎΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»Π° этого языка, Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ совмСстно с HTML.

ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π° JavaScript

JavaScript Π²Π½Π°Ρ‡Π°Π»Π΅ назывался LiveScript. Но, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π½Π° Ρ‚ΠΎΡ‚ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Java Π±Ρ‹Π»Π° Ρƒ всСх Π½Π° устах (ΠΏΠΎ всСму ΠΌΠΈΡ€Ρƒ), Netscape Ρ€Π΅ΡˆΠΈΠ» ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² JavaScript. Π”Π°Ρ‚Π° Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ появлСния – 1995 ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ Netscape 2.0. НСкоторыС самыС Π²Ρ‹Π΄Π°ΡŽΡ‰ΠΈΠ΅ΡΡ прСимущСства JavaScript опишСм Π½ΠΈΠΆΠ΅.

ΠœΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ взаимодСйствия с сСрвСром

Π₯ΠΎΡ€ΠΎΡˆΠΎ извСстный Ρ„Π°ΠΊΡ‚, Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ своСго сайта, Π»ΡƒΡ‡ΡˆΠΈΠΉ ΠΏΡƒΡ‚ΡŒ – это ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ взаимодСйствиС с сСрвСром. JavaScript Ρ‚ΡƒΡ‚ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ коррСктности Π²Π²ΠΎΠ΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. Запрос сСрвСру отправляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€ΠΎΠΉΠ΄Π΅Π½Ρ‹. Как Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, использованиС рСсурсов ΠΈ количСство запросов ΠΊ сСрвСру Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ°Π΅Ρ‚ΡΡ.

Π‘ΠΎΠ»Π΅Π΅ Π±ΠΎΠ³Π°Ρ‚Ρ‹ΠΉ интСрфСйс, ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π½Π° удобство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ JavaScript, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ интСрфСйс Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. НапримСр, Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ слайдСры, карусСли, эффСкты ΠΏΠΎ дСйствиям ΠΌΡ‹ΡˆΠΈ, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ простого пСрСтягивания ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅.

ΠœΠΎΠ»Π½ΠΈΠ΅Π½ΠΎΡΠ½Ρ‹ΠΉ ΠΎΡ‚ΠΊΠ»ΠΈΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ

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

Лёгкая трассировка

JavaScript – это ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹ΠΉ язык, Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚, Ρ‡Ρ‚ΠΎ написанный ΠΊΠΎΠ΄ выполняСтся построчно. Если Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ошибка, Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ Ρ‚ΠΎΡ‡Π½ΠΎ Π·Π½Π°Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ строки, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°.

Вставка JavaScript Π² HTML

Π•ΡΡ‚ΡŒ Π΄Π²Π° ΠΏΡƒΡ‚ΠΈ вставки JavaScript Π² HTML ΠΈ ΠΈΡ… комбинация. Π’Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠ»ΠΈ ΠΎ JavaScript ΠΈ рассмотрСли Π΅Π³ΠΎ прСимущСства, Π΄Π°Π²Π°ΠΉΡ‚Π΅ взглянСм Π½Π° ΠΏΡƒΡ‚ΠΈ сопряТСния JavaScript ΠΈ HTML.

Вставка JavaScript нСпосрСдствСнно Π² HTML-Ρ„Π°ΠΉΠ»

Π’ Ρ‚Π°ΠΊΠΎΠΌ Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ΄, прСдставлСнный Π²Ρ‹ΡˆΠ΅ Π½Π΅ содСрТит JavaScript ΠΈ поэтому Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя. ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ убСдится Π²Π΅Ρ€Π½ΠΎΠ΅ Π»ΠΈ отобраТаСтся врСмя:

Π—Π°ΠΊΠ»ΡŽΡ‡ΠΈΠΌ этот ΠΊΠΎΠ΄ Π² тэги ΠΈ поставим Π΅Π³ΠΎ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΡ‡Π½ΠΎΠΉ части ΠΊΠΎΠ΄Π° HTML, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΡƒΠ²Π΅Ρ€Π΅Π½Π½Ρ‹ΠΌ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ»Π°ΡΡŒ Π»ΠΈ страница ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ, сообщСниС Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ врСмя для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π’Π°ΠΊ Ρ„Π°ΠΉΠ» HTML Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ послС добавлСния ΠΊΠΎΠ΄Π°:

Если ΠΆΠ΅ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚ΡŒ этот ΠΊΠΎΠ΄ Π² Ρ‚Π΅Π»Π΅, Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π²Π½ΡƒΡ‚Ρ€ΠΈ тэгов HTML страницы. Π’ΠΎΡ‚ Ρ‚Π°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΠΊΠΎΠ΄ Π² этом случаС:

ΠΊΡƒΠ΄Π° Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ скрипт Π² html. skripty dlja sajta javascript v html 1. ΠΊΡƒΠ΄Π° Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ скрипт Π² html Ρ„ΠΎΡ‚ΠΎ. ΠΊΡƒΠ΄Π° Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ скрипт Π² html-skripty dlja sajta javascript v html 1. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΡƒΠ΄Π° Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ скрипт Π² html. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° skripty dlja sajta javascript v html 1. Π’ этом руководствС ΠΌΡ‹ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ Π²Π°ΠΌ, ΠΊΠ°ΠΊ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ JavaScript Π² HTML. Начало Π±ΡƒΠ΄Π΅Ρ‚ посвящСно ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΉ ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ JavaScript, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΎΡΡ‚Π°Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ руководства Π±ΡƒΠ΄Π΅Ρ‚ сфокусирована Π½Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… добавлСния JavaScript Π² HTML.

Вставка JavaScript Π² HTML ΠΈΠ· ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π°

Иногда Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄Π° JavaScript Π² HTML Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π½Π΅ выглядит Π»ΡƒΡ‡ΡˆΠΈΠΌ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΌ. ΠŸΡ€Π΅ΠΈΠΌΡƒΡ‰Π΅ΡΡ‚Π²Π΅Π½Π½ΠΎ, ΠΏΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ JS-скрипты ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ Π½Π° мноТСствС страниц, ΠΊΠΎΠ΄ JavaScript Π»ΡƒΡ‡ΡˆΠ΅ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Ρ‚ΡŒ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ Ρ„Π°ΠΉΠ»Π΅. ИмСнно поэтому Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ вставки JavaScript Π² HTML ΠΏΡƒΡ‚Ρ‘ΠΌ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π° Ρ„Π°ΠΉΠ»Π° являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящим. На эти Ρ„Π°ΠΉΠ»Ρ‹ Π²Π½ΡƒΡ‚Ρ€ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° HTML Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ ссылки, Π½Π° ΠΏΠΎΠ΄ΠΎΠ±ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ это дСлаСтся для CSS-Ρ„Π°ΠΉΠ»ΠΎΠ². НСкоторыС прСимущСства ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ JS ΠΊΠΎΠ΄Π° ΠΈΠ· внСшнСго Ρ„Π°ΠΉΠ»Π°:

Бсылку Π½Π° Ρ„Π°ΠΉΠ» JavaScript Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„Π°ΠΉΠ»Π° HTML ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ„Π°ΠΉΠ»Π° myscript.js Π±ΡƒΠ΄Π΅Ρ‚:

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Π—Π΄Π΅ΡΡŒ прСдполагаСтся, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ» myscript.js находится Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ js, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ находится Π² Ρ‚ΠΎΠΌ ΠΆΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅, Ρ‡Ρ‚ΠΎ ΠΈ Ρ„Π°ΠΉΠ» HTML.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π° JavaScript для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ адрСса email

JavaScript позволяСт Π²Π°ΡˆΠ΅ΠΌΡƒ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° сторонС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Один ΠΈΠ· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ часто Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ – это email адрСс. Π­Ρ‚Π° функция JavaScript ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ Π²Π²Π΅Π΄Ρ‘Π½Π½ΠΎΠ³ΠΎ адрСса email ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π° сСрвСр:

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠΈΡ‚ΡŒ этот ΠΊΠΎΠ΄ ΠΊ Ρ„ΠΎΡ€ΠΌΠ΅ Π²Π²ΠΎΠ΄Π° ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ html-ΠΊΠΎΠ΄:

Π’ΠΎΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ послС соСдинСния всСх ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² вмСстС Π² Ρ„Π°ΠΉΠ»Π΅ HTML:

ΠΊΡƒΠ΄Π° Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ скрипт Π² html. skripty dlja sajta javascript v html 2. ΠΊΡƒΠ΄Π° Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ скрипт Π² html Ρ„ΠΎΡ‚ΠΎ. ΠΊΡƒΠ΄Π° Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ скрипт Π² html-skripty dlja sajta javascript v html 2. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΡƒΠ΄Π° Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ скрипт Π² html. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° skripty dlja sajta javascript v html 2. Π’ этом руководствС ΠΌΡ‹ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ Π²Π°ΠΌ, ΠΊΠ°ΠΊ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ JavaScript Π² HTML. Начало Π±ΡƒΠ΄Π΅Ρ‚ посвящСно ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΉ ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ JavaScript, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΎΡΡ‚Π°Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ руководства Π±ΡƒΠ΄Π΅Ρ‚ сфокусирована Π½Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… добавлСния JavaScript Π² HTML.

И Ссли ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π΅ ΠΏΡ€ΠΎΡˆΠ»Π°, Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΠ½ΠΎΠΉ:

ΠΊΡƒΠ΄Π° Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ скрипт Π² html. skripty dlja sajta javascript v html 3. ΠΊΡƒΠ΄Π° Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ скрипт Π² html Ρ„ΠΎΡ‚ΠΎ. ΠΊΡƒΠ΄Π° Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ скрипт Π² html-skripty dlja sajta javascript v html 3. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΡƒΠ΄Π° Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ скрипт Π² html. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° skripty dlja sajta javascript v html 3. Π’ этом руководствС ΠΌΡ‹ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ Π²Π°ΠΌ, ΠΊΠ°ΠΊ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ JavaScript Π² HTML. Начало Π±ΡƒΠ΄Π΅Ρ‚ посвящСно ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΉ ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ JavaScript, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΎΡΡ‚Π°Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ руководства Π±ΡƒΠ΄Π΅Ρ‚ сфокусирована Π½Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… добавлСния JavaScript Π² HTML.

ΠŸΠΎΠ·Π΄Ρ€Π°Π²Π»ΡΠ΅ΠΌ! ΠœΡ‹ рассмотрСли ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ JavaScript Π² HTML Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… простых ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ….

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

Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ Π²Π΅Π΄Ρ‘ΠΌ Ρ€Π΅Ρ‡ΡŒ ΠΎ Π΄Π²ΡƒΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… вставки JavaScript Π² HTML(Π°Π½Π³Π».) ΠΊΠΎΠ΄ ΠΈ, ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Ρ‹ ΠΎΡΠ²ΠΎΠΈΡ‚Π΅ΡΡŒ, ΠΏΠ΅Ρ€Π΅Π΄ Π²Π°ΠΌΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ Π±Π΅Π·Π³Ρ€Π°Π½ΠΈΡ‡Π½Ρ‹Π΅ возмоТности совмСстного использования Π΄Π²ΡƒΡ… языков программирования. JavaScript ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован Π² сочСтании с HTML для придания соврСмСнным Π²Π΅Π±-прилоТСниям интСрактивности, ΠΈΠ½Ρ‚ΡƒΠΈΡ‚ΠΈΠ²Π½ΠΎΠΉ понятности ΠΈ Π΄Ρ€ΡƒΠΆΠ΅Π»ΡŽΠ±Π½ΠΎΡΡ‚ΠΈ. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΡ ΠΏΡ€ΠΎΡΡ‚ΡƒΡŽ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° клиСнтской сторонС ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ возрастания Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π½Π° сСрвСр ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰ΡƒΡŽ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ сайта.

Π•Π»Π΅Π½Π° ΠΈΠΌΠ΅Π΅Ρ‚ ΠΏΡ€ΠΎΡ„Π΅ΡΡΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΠ΅ тСхничСскоС ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Π² области ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ ΠΈ ΠΎΠΏΡ‹Ρ‚ программирования Π½Π° Ρ€Π°Π·Π½Ρ‹Ρ… языках ΠΏΠΎΠ΄ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ систСмы. Π‘ΠΎΠ»Π΅Π΅ 10 Π»Π΅Ρ‚ посвятила сфСрС Π²Π΅Π±, работая с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ CMS, Ρ‚Π°ΠΊΠΈΠΌΠΈ ΠΊΠ°ΠΊ: Drupal, Joomla, Magento ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎ ΠΆΠ΅ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ популярной Π² наши Π΄Π½ΠΈ систСмой управлСния ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ – WordPress. Π•Ρ‘ ΡΡ‚Π°Ρ‚ΡŒΠΈ всСгда тСхничСски Π²Ρ‹Π²Π΅Ρ€Π΅Π½Ρ‹ ΠΈ Ρ‚ΠΎΡ‡Π½Ρ‹, Π±ΡƒΠ΄ΡŒ Ρ‚ΠΎ ΠΎΠ±Π·ΠΎΡ€ для WordPress ΠΈΠ»ΠΈ инструкции ΠΏΠΎ настройкС вашСго VPS сСрвСра.

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

Как ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ JS- ΠΈ PHP-скрипты ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ сайту?

БСгодня я расскаТу Π²Π°ΠΌ, ΠΊΠ°ΠΊ осущСствляСтся ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² скриптов ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ сайту. Π­Ρ‚ΠΎ своСго Ρ€ΠΎΠ΄Π° основа основ, ΠΈ Π½Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ эту ΡΡ‚Π°Ρ‚ΡŒΡŽ я Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Π» ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· ΠΏΠ΅Ρ€Π²Ρ‹Ρ…. ΠŸΠΎΡ‚ΠΎΠΌΡƒ – Π½Π°Ρ‡Π½Π΅ΠΌ.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ JS-скриптов (Ρ„Π°ΠΉΠ»Ρ‹ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ *.js) ΠΊ сайту

JavaScript ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π½Π°ΠΌ Π²ΠΎ ΠΌΠ½ΠΎΠ³ΠΈΡ… ΠΌΠΎΠΌΠ΅Π½Ρ‚Π°Ρ… ΠΏΠΎΠ²Ρ‹ΡΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ сайта. Π‘ΡƒΠ΄ΡŒ Ρ‚ΠΎ стилизация Ρ„ΠΎΡ€ΠΌ ΠΈΠ»ΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, какая-Π½ΠΈΠ±ΡƒΠ΄ΡŒ тСхничСская сторона вопроса.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ JavaScript’Π° осущСствляСтся двумя способами:

1. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ – это нСпосрСдствСнно вставка ΠΊΠΎΠ΄Π° Π² ваш сайт с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π΅Π³ΠΎΠ²:

2. Π’Ρ‚ΠΎΡ€ΠΎΠΉ – с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Π°ΠΉΠ»Π°:

Π“Π΄Π΅ Β«https://www.pandoge.com/main.jsΒ» – ΠΏΡƒΡ‚ΡŒ Π΄ΠΎ Ρ„Π°ΠΉΠ»Π° скрипта. Π’Π°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ рСкомСндуСтся ΠΏΠΈΡΠ°Ρ‚ΡŒ для Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π° ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌ (внСшнСм) сСрвСрС. Если ΠΆΠ΅ Ρ„Π°ΠΉΠ» находится Π½Π° вашСм сайтС, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ просто ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ:

Π­Ρ‚ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎ, Ссли Π²Ρ‹ Π²Π΄Ρ€ΡƒΠ³ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄ΠΎΠΌΠ΅Π½ ΠΈΠ»ΠΈ пСрСвСсти сайт Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ».

Π§Ρ‚ΠΎ касаСтся мСста ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, Ρ‚ΠΎ всС скрипты рСкомСндуСтся ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² сСкции HEAD, ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌ Π΅Π΅ Ρ‚Π΅Π³ΠΎΠΌ. НапримСр:

Π˜Ρ… Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π² сСкции BODY. НапримСр, всС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ рСкомСндуСтся ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π² сСкции HEAD, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ всС счСтчики, слайдСры, Π³Π°Π»Π΅Ρ€Π΅ΠΈ ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΠ΅ скрипты – Π² сСкции BODY, Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΌ Ρ‚Π΅Π³ΠΎΠΌ.

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ PHP-скриптов (Ρ„Π°ΠΉΠ»Ρ‹ с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ *.php) ΠΊ сайту

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ PHP-скриптов осущСствляСтся ΡƒΠΆΠ΅ трСмя способами:

1. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ – это Ρ‚Π° ΠΆΠ΅ вставка ΠΊΠΎΠ΄Π° Π² саму страницу сайта (ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Ссли Π²Ρ‹ ΠΈΠΌΠ΅Π΅Ρ‚Π΅ страницу с Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ *.html – Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Π½Π° *.php) с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ‚Π΅Π³ΠΎΠ²:

2. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ„Π°ΠΉΠ»Π° (Π² Ρ‚Π°ΠΊΠΎΠΌ случаС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒ ΠΈ Π½Π° страницС с *.html Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ΠΌ):

Но для Ρ€Π°Π±ΠΎΡ‚Ρ‹ этого способа Π² Ρ„Π°ΠΉΠ» .htaccess, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ находится Π² ΠΊΠΎΡ€Π½Π΅ вашСго сайта, Π² самый Π²Π΅Ρ€Ρ…, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ эти строки:

3. Π’Ρ€Π΅Ρ‚ΡŒΠ΅ – с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ JS-скрипта. Π’ этом случаС Π²Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠ³ΠΎ PHP-скрипта Π½Π° сСрвСрС.

РСализация Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ:

Π“Π΄Π΅ Β«.resultΒ» – это класс, ΠΊΡƒΠ΄Π° Π±ΡƒΠ΄ΡƒΡ‚ Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΡΡ Π΄Π°Π½Π½Ρ‹Π΅, Π° Β«/main.phpΒ», соотвСтствСнно, адрСс Π΄ΠΎ PHP-скрипта.

Если Π²Ρ‹ Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Π΄Π°Π½Π½Ρ‹Π΅ с Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ сСрвСра, Ρ‚ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° PHP Π½Π° вашСм сСрвСрС Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Π°. НС Π·Π°Π±Ρ‹Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ сайту Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΡƒ jQuery.

Π—Π΄Π΅ΡΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π° Π°Π±ΡΠΎΠ»ΡŽΡ‚Π½ΠΎ Ρ‚Π΅ ΠΆΠ΅: ΠΏΠΎΠ»Π½Ρ‹ΠΉ адрСс ΠΊ Ρ„Π°ΠΉΠ»Ρƒ, Ссли ΠΎΠ½ находится Π½Π° внСшнСм сСрвСрС, ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ – Ссли Π½Π° вашСм.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅! Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ PHP-скрипт ΠΊ Π²Π°ΡˆΠ΅ΠΌΡƒ сайту, Ρ‚ΠΎ Π½Π° сСрвСрС Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° PHP. О Ρ‚ΠΎΠΌ, Π΅ΡΡ‚ΡŒ Π»ΠΈ Ρƒ вас такая Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ – ΡƒΠ·Π½Π°ΠΉΡ‚Π΅ Ρƒ своСго хостинг-ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π°.

Если Π²Ρ‹ осущСствляСтС ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ скриптов ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π· – ΠΏΠΎΠΏΡ€ΠΎΠ±ΡƒΠΉΡ‚Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ скрипты ΠΈΠ· Π°Ρ€Ρ…ΠΈΠ²Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Π΅Π½ Π² ΠΊΠΎΠ½Ρ†Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ. Если Π² ΠΎΠ±ΠΎΠΈΡ… случаях Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΈ сообщСниС Β«Hello World!Β» – Π·Π½Π°Ρ‡ΠΈΡ‚, Π²Ρ‹ всС сдСлали ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ.

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

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

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

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

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

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

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

Как ΠΈ всС спСцификации 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

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

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

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

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

ΠΊΡƒΠ΄Π° Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ скрипт Π² html. zpbnfvc 9q274ie5wcyhvuo3pma. ΠΊΡƒΠ΄Π° Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ скрипт Π² html Ρ„ΠΎΡ‚ΠΎ. ΠΊΡƒΠ΄Π° Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ скрипт Π² html-zpbnfvc 9q274ie5wcyhvuo3pma. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΡƒΠ΄Π° Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ скрипт Π² html. ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° zpbnfvc 9q274ie5wcyhvuo3pma. Π’ этом руководствС ΠΌΡ‹ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ Π²Π°ΠΌ, ΠΊΠ°ΠΊ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ JavaScript Π² HTML. Начало Π±ΡƒΠ΄Π΅Ρ‚ посвящСно ΠΊΡ€Π°Ρ‚ΠΊΠΎΠΉ ΠΏΡ€Π΅Π·Π΅Π½Ρ‚Π°Ρ†ΠΈΠΈ JavaScript, Ρ‚ΠΎΠ³Π΄Π° ΠΊΠ°ΠΊ ΠΎΡΡ‚Π°Π»ΡŒΠ½Π°Ρ Ρ‡Π°ΡΡ‚ΡŒ руководства Π±ΡƒΠ΄Π΅Ρ‚ сфокусирована Π½Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°Ρ… добавлСния JavaScript Π² HTML.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Настройки

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Google Pagespeed

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Loader

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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