ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ Google
- ΠΠ»Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅Π½ΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° ΡΡΠ½ΠΊΡΠΈΡ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡ
ΠΎΠ΄Π½ΡΡ
ΠΏΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ Π² Π²ΠΈΠ·ΡΠ°Π»ΡΠ½ΠΎ ΡΠ°Π·Π΄Π΅Π»ΡΠ½Π½ΡΠ΅ Π³ΡΡΠΏΠΏΡ. ΠΠ°ΠΆΠ΄ΠΎΠΉ Π³ΡΡΠΏΠΏΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΠ²ΡΠ·Π°ΡΡ ΡΠ²ΠΎΠΉ ΡΠ²Π΅Ρ ΠΈ ΠΈΠΌΡ. ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ, Π½Π΅ ΠΏΠΎΠΏΠ°Π²ΡΠΈΠ΅ Π² ΠΏΠ΅ΡΠ²ΡΡ Π²ΠΎΠ»Π½Ρ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ, ΠΌΠΎΠ³ΡΡ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ ΡΡΠ΅Π· ΠΎΠΏΡΠΈΡ «chrome://flags/#tab-groups».
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΈ
Scroll-To-Text , ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΉ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ»ΠΎΠ²Π° ΠΈΠ»ΠΈ ΡΡΠ°Π·Ρ, Π±Π΅Π· ΡΠ²Π½ΠΎΠ³ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΡ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ ΠΌΠ΅ΡΠΎΠΊ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΡΠ΅Π³Π° «a name» ΠΈΠ»ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° «id». Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ ΡΡΡΠ»ΠΎΠΊ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ ΡΡΠ²Π΅ΡΠ΄ΠΈΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ web-ΡΡΠ°Π½Π΄Π°ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠΊΠ° Π½Π°Ρ ΠΎΠ΄ΠΈΡΡΡ Π½Π° ΡΡΠ°Π΄ΠΈΠΈΡΠ΅ΡΠ½ΠΎΠ²ΠΈΠΊΠ° . ΠΠ°ΡΠΊΠ° Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° (ΠΏΠΎ ΡΡΡΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠΈΡΠΊ Ρ ΠΏΡΠΎΠΊΡΡΡΠΊΠΎΠΉ) ΠΎΡΠ΄Π΅Π»ΡΠ΅ΡΡΡ ΠΎΡ ΠΎΠ±ΡΡΠ½ΠΎΠ³ΠΎ ΡΠΊΠΎΡΡ ΠΏΡΠΈΠ·Π½Π°ΠΊΠΎΠΌ «:~:». ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ ΡΡΡΠ»ΠΊΠΈ «https://opennet.ru/52312/#:~:text=ChromΠ΅» ΡΡΡΠ°Π½ΠΈΡΠ° ΡΠ΄Π²ΠΈΠ½Π΅ΡΡΡ Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΡ Ρ ΠΏΠ΅ΡΠ²ΡΠΌ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ΠΌ ΡΠ»ΠΎΠ²Π° «ChromΠ΅» ΠΈ Π΄Π°Π½Π½ΠΎΠ΅ ΡΠ»ΠΎΠ²ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΅Π½ΠΎ. -
ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΎ Π±ΠΎΠ»Π΅Π΅ ΠΆΡΡΡΠΊΠΎΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ Cookie ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΠΉΡΠ°ΠΌΠΈ, Π΄Π»Ρ Π½Π΅-HTTPS Π·Π°ΠΏΡΠΎΡΠΎΠ² Π·Π°ΠΏΡΠ΅ΡΠ°ΡΡΠ΅Π΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΡΠΎΡΠΎΠ½Π½ΠΈΡ Cookie, Π²ΡΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ ΡΠ°ΠΉΡΠ°ΠΌ, ΠΎΡΠ»ΠΈΡΠ½ΡΠΌ ΠΎΡ Π΄ΠΎΠΌΠ΅Π½Π° ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΡ. ΠΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ Cookie ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π΄Π»Ρ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΠΉΡΠ°ΠΌΠΈ Π² ΠΊΠΎΠ΄Π΅ ΡΠ΅ΠΊΠ»Π°ΠΌΠ½ΡΡ ΡΠ΅ΡΠ΅ΠΉ, Π²ΠΈΠ΄ΠΆΠ΅ΡΠΎΠ² ΡΠΎΡΠΈΠ°Π»ΡΠ½ΡΡ ΡΠ΅ΡΠ΅ΠΉ ΠΈ ΡΠΈΡΡΠ΅ΠΌ web-Π°Π½Π°Π»ΠΈΡΠΈΠΊΠΈ. ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠ΅ΠΉ Cookie ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΠΌΡΠΉ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Set-Cookie Π°ΡΡΠΈΠ±ΡΡ SameSite, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ΅ΠΏΠ΅ΡΡ Π²ΡΡΡΠ°Π²Π»Π΅Π½ Π² Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ «SameSite=Lax», ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΠ΅Π΅ ΠΎΡΠΏΡΠ°Π²ΠΊΡ Cookie Π΄Π»Ρ ΠΌΠ΅ΠΆΡΠ°ΠΉΡΠΎΠ²ΡΡ ΡΡΠ±Π·Π°ΠΏΡΠΎΡΠΎΠ², ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Π·Π°ΠΏΡΠΎΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ° ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΡΠ΅ΡΠ΅Π· iframe Ρ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ°. Π‘Π°ΠΉΡΡ ΠΌΠΎΠ³ΡΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΠΉ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΡΠ΅ΠΆΠΈΠΌ SameSite, ΡΠ²Π½ΠΎ Π²ΡΡΡΠ°Π²Π»ΡΡ ΠΏΡΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ΅ Cookie Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ SameSite=None. ΠΡΠΈ ΡΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ SameSite=None Π΄Π»Ρ Cookie ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΠ°Π²Π»ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Secure (Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Π΄Π»Ρ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠΉ ΡΠ΅ΡΠ΅Π· HTTPS). ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π½Π°ΡΠ½ΡΡ ΠΏΠΎΡΡΠ°ΠΏΠ½ΠΎΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ 17 ΡΠ΅Π²ΡΠ°Π»Ρ, Π²Π½Π°ΡΠ°Π»Π΅ Π΄Π»Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅Π½ΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, Π° ΠΏΠΎΡΠΎΠΌ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ ΡΠ°ΡΡΠΈΡΡΡ ΠΎΡ Π²Π°Ρ. -
ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π·Π°ΡΠΈΡΠ° ΠΎΡ Π½Π°Π·ΠΎΠΉΠ»ΠΈΠ²ΡΡ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΠΉ. Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΠΎΠ΄ΠΎΠ±Π½Π°Ρ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΏΠ°ΠΌ Π·Π°ΠΏΡΠΎΡΠ°ΠΌΠΈ Π½Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ push-ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ, ΠΏΡΠ΅ΡΡΠ²Π°Π΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΠΎΡΠ²Π»Π΅ΠΊΠ°Π΅Ρ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π°Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ, Π² Chrome 80 Π²ΠΌΠ΅ΡΡΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³Π°, Π² Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½Π°Ρ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠ° Ρ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ ΠΎ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ΅ Π·Π°ΠΏΡΠΎΡΠ° ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΡΠ΅ΠΌ ΡΠ²ΠΎΡΠ°ΡΠΈΠ²Π°Π΅ΡΡΡ Π² ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π·Π°ΡΡΡΠΊΠ½ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΎΠΊΠΎΠ»Π°. ΠΡΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π½Π° ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡ ΠΌΠΎΠΆΠ½ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ»ΠΈ ΠΎΡΠΊΠ»ΠΎΠ½ΠΈΡΡ Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΠ΅ Π² Π»ΡΠ±ΠΎΠΉ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ. ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ Π±ΡΠ΄Π΅Ρ Π²ΡΠ±ΠΎΡΠΎΡΠ½ΠΎ Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄ΠΎ ΡΡΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ½ΠΎ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π»ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ Π·Π°ΠΏΡΠΎΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ ΡΠ°ΠΉΡΠΎΠ², Π½Π° ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΠΊΡΠΈΡΡΠ΅ΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΏΡΠΎΡΠ΅Π½Ρ ΠΎΡΠΊΠ»ΠΎΠ½Π΅Π½ΠΈΡ Π·Π°ΠΏΡΠΎΡΠΎΠ². ΠΠ»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° Π΄Π»Ρ Π²ΡΠ΅Ρ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΎΠΏΡΠΈΡ (chrome://flags/#quiet-notification-prompts). -
ΠΠ°ΠΏΡΠ΅ΡΡΠ½ Π²ΡΠ²ΠΎΠ΄ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠΈΡ ΠΎΠΊΠΎΠ½ (Π²ΡΠ·ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄Π° window.open()) ΠΈ ΠΎΡΠΏΡΠ°Π²ΠΊΠ° ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΡΡ Π·Π°ΠΏΡΠΎΡΠΎΠ² XMLHttpRequest Π² ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°Ρ ΡΠΎΠ±ΡΡΠΈΠΉ Π·Π°ΠΊΡΡΡΠΈΡ ΠΈΠ»ΠΈ ΡΠΊΡΡΡΠΈΡ ΡΡΡΠ°Π½ΠΈΡΡ (unload, beforeunload, pagehide ΠΈ visibilitychange); - ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π½Π°ΡΠ°Π»ΡΠ½Π°Ρ
Π·Π°ΡΠΈΡΠ° ΠΎΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠΌΠ΅ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° (ΠΊΠΎΠ³Π΄Π° Π½Π° HTTPS-ΡΡΡΠ°Π½ΠΈΡΠ΅ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ ΡΠ΅ΡΡΡΡΡ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ http://). ΠΠ° ΡΡΡΠ°Π½ΠΈΡΠ°Ρ , ΠΎΡΠΊΡΡΡΡΡ ΠΏΠΎ HTTPS, ΡΠ΅ΠΏΠ΅ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π±ΡΠ΄ΡΡ Π·Π°ΠΌΠ΅Π½ΡΡΡΡΡ ΡΡΡΠ»ΠΊΠΈ «http://» Π½Π° «https://» Π² Π±Π»ΠΎΠΊΠ°Ρ , ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ Π·Π²ΡΠΊΠΎΠ²ΡΡ ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΡΠ°ΠΉΠ»ΠΎΠ². ΠΡΠ»ΠΈ Π·Π²ΡΠΊΠΎΠ²ΠΎΠΉ ΠΈΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎ ΡΠ΅ΡΡΡΡ Π½Π΅Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΏΠΎ https, ΡΠΎ Π΅Π³ΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠ° Π±Π»ΠΎΠΊΠΈΡΡΠ΅ΡΡΡ (Π²ΡΡΡΠ½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠΌΠ΅ΡΠΈΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅Π½Ρ, Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π· ΡΠΈΠΌΠ²ΠΎΠ» Π·Π°ΠΌΠΊΠ° Π² Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅).ΠΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ (Π°Π²ΡΠΎΠ·Π°ΠΌΠ΅Π½Π° Π±ΡΠ΄Π΅Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½Π° Π² Chrome 81), Π½ΠΎ Π΄Π»Ρ Π·Π°ΠΌΠ΅Π½Ρ Π½Π° https ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌ ΡΠ°ΠΉΡΠΎΠ² ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Ρ CSP-ΡΠ²ΠΎΠΉΡΡΠ²Π° upgrade-insecure-requests ΠΈ block-all-mixed-content. ΠΠ»Ρ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΈ iframe Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° ΡΠΌΠ΅ΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° ΡΠΆΠ΅ Π±ΡΠ»Π° ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΡΠ°Π½Π΅Π΅.
- ΠΠ°ΡΠ°Π»ΠΎΡΡ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎΠ΅
ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ FTP. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° FTP ΠΏΠΎΠΊΠ° ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΡΡ, Π½ΠΎ Π±ΡΠ΄Π΅ΡΠΏΡΠΎΠ²Π΅Π΄ΡΠ½ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½Ρ, Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠ΅Π½ΡΠ° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° FTP Π±ΡΠ΄Π΅Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π° (Π΄Π»Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ Π±ΡΠ°ΡΠ·Π΅Ρ Ρ ΠΎΠΏΡΠΈΠ΅ΠΉ «—enable-ftp»). ΠΠ°ΠΏΠΎΠΌΠ½ΠΈΠΌ, ΡΡΠΎ Π² ΠΏΡΠΎΡΠ»ΡΡ Π²ΡΠΏΡΡΠΊΠ°Ρ ΡΠΆΠ΅ Π±ΡΠ»ΠΎ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π² ΠΎΠΊΠ½Π΅ Π±ΡΠ°ΡΠ·Π΅ΡΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠΎΠ², Π·Π°Π³ΡΡΠΆΠ°Π΅ΠΌΡΡ ΠΏΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Ρ «ftp://» (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ½ ΠΏΠΎΠΊΠ°Π· HTML-Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² README), Π·Π°ΠΏΡΠ΅ΡΠ΅Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ FTP ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ ΡΡΠ±ΡΠ΅ΡΡΡΡΠΎΠ² ΠΈΠ· Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈ ΠΏΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΎΠΊΡΠΈ Π΄Π»Ρ FTP. Π’Π΅ΠΌ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅, Π΄ΠΎ ΡΠΈΡ ΠΏΠΎΡ ΠΎΡΡΠ°Π²Π°Π»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠΎ ΠΏΡΡΠΌΡΠΌ ΡΡΡΠ»ΠΊΠ°ΠΌ ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ². -
ΠΠΎΠ±Π°Π²Π»Π΅Π½Π°
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²Π΅ΠΊΡΠΎΡΠ½ΡΡ SVG-ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΠΈΠΊΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΠ°ΠΉΡΠ° (favicon). - Π Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ±ΠΎΡΠΎΡΠ½ΠΎΠ³ΠΎ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΡΠΈΠΏΠΎΠ² Π΄Π°Π½Π½ΡΡ , ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Π΅ΠΌΡΡ ΠΏΡΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρ Π±ΡΠ°ΡΠ·Π΅ΡΠ°ΠΌΠΈ.
- ΠΠ»Ρ ΡΠ΅Π½ΡΡΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΠΎ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΡΠ΅ΠΌΡΡ
ΠΊΠΎΡΠΏΠΎΡΠ°ΡΠΈΠ²Π½ΡΡ
ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ
BlockExternalExtensions , ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π΅ Π·Π°ΠΏΡΠ΅ΡΠΈΡΡ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΡ Π²Π½Π΅ΡΠ½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΉ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ. - Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π°
Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΅Π΄ΠΈΠ½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π²ΡΠ΅ΠΉ ΡΠ΅ΠΏΠΎΡΠΊΠΈ ΡΠ²ΠΎΠΉΡΡΠ² ΠΈΠ»ΠΈ Π²ΡΠ·ΠΎΠ²ΠΎΠ² Π² JavaScript. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΈ ΠΊ «db.user.name.length» ΡΠ°Π½Π΅Π΅ ΡΡΠ΅Π±ΠΎΠ²Π°Π»ΠΎΡΡ ΠΏΠΎΡΡΠ°ΠΏΠ½ΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ΅Ρ ΡΠΎΡΡΠ°Π²Π½ΡΡ ΡΠ°ΡΡΠ΅ΠΉ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΡΠ΅Π· «if (db && db.user && db.user.name)». Π’Π΅ΠΏΠ΅ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ «?.» ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡΡΡ ΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΡ «db?.user?.name?.length» Π±Π΅Π· ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΎΠΊ ΠΈ ΡΠ°ΠΊΠΎΠ΅ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΏΡΠΈΠ²Π΅Π΄ΡΡ ΠΊ Π²ΡΠ²ΠΎΠ΄Ρ ΠΎΡΠΈΠ±ΠΊΠΈ. Π ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌ (Π΅ΡΠ»ΠΈ ΠΊΠ°ΠΊΠΎΠΉ-ΡΠΎ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½ ΠΊΠ°ΠΊ null ΠΈΠ»ΠΈ undefined)) Π½Π° Π²ΡΡ ΠΎΠ΄Π΅ Π±ΡΠ΄Π΅Ρ Π²ΡΠ΄Π°Π½ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ «undefined». - Π JavaScript ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½ΠΎΠ²ΡΠΉ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ «
?? «, ΠΊΠΎΡΠΎΡΡΠΉ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΡΠ°Π²ΡΠΉ ΠΎΠΏΠ΅ΡΠ°Π½Π΄, Π΅ΡΠ»ΠΈ Π»Π΅Π²ΡΠΉ ΠΎΠΏΠ΅ΡΠ°Π½Π΄ ΠΈΠΌΠ΅Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ NULL ΠΈΠ»ΠΈ undefined, ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, «const foo = bar ?? ‘default string'» Π΅ΡΠ»ΠΈ bar ΡΠ°Π²Π΅Π½ null, Π²Π΅ΡΠ½ΡΡ ΡΡΠΎΠΊΡ ΠΈΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ bar Π² ΠΏΡΠΎΡΠΈΠ²Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅, ΠΊΠΎΠ³Π΄Π° bar ΡΠ°Π²Π΅Π½ 0 ΠΈ ‘ ‘, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° «||». - Π ΡΠ΅ΠΆΠΈΠΌΠ΅ Origin Trials (ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ, ΡΡΠ΅Π±ΡΡΡΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ
Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ ) ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ API Content Indexing. Origin Trial ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ API ΠΈΠ· ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ Ρ localhost ΠΈΠ»ΠΈ 127.0.0.1, ΠΈΠ»ΠΈ ΠΏΠΎΡΠ»Π΅ ΠΏΡΠΎΡ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΈ ΠΈ ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΠΊΠ΅Π½Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ Π΄Π»Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΡΠ°. APIContent Indexing , ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ΅, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°Π½Π΅Π΅ Π±ΡΠ» ΠΏΡΠΎΠΊΡΡΠΈΡΠΎΠ²Π°Π½ web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ, ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠΌΠΈ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Progressive Web Apps (PWS). ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ ΡΠΎΡ ΡΠ°Π½ΡΡΡ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ Π±ΡΠ°ΡΠ·Π΅ΡΠ° ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π²ΠΈΠ΄Π΅ΠΎ ΠΈ ΡΡΠ°ΡΡΠΈ, Π° ΠΏΡΠΈ ΠΏΡΠΎΠΏΠ°Π΄Π°Π½ΠΈΠΈ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ API Cache Storage ΠΈ IndexedDB. Content Indexing API Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡ, Π½Π°Ρ ΠΎΠ΄ΠΈΡΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΠ΅ΡΡΡΡΡ. Π Π±ΡΠ°ΡΠ·Π΅ΡΠ΅ Π΄Π°Π½Π½ΡΠΉ API ΡΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½ΠΈΡ ΡΠΏΠΈΡΠΊΠ° ΡΡΡΠ°Π½ΠΈΡ ΠΈ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΡΡ Π΄Π°Π½Π½ΡΡ , Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π² offline. - Π‘ΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½ ΠΈ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ Π²Π½Π΅ Origin Trials ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ
Contact Picker , ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π²ΡΠ±ΡΠ°ΡΡ Π·Π°ΠΏΠΈΡΠΈ ΠΈΠ· Π°Π΄ΡΠ΅ΡΠ½ΠΎΠΉ ΠΊΠ½ΠΈΠ³ΠΈ ΠΈ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ ΠΎ Π½ΠΈΡ Π½Π° ΡΠ°ΠΉΡ. ΠΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΡΡΡ ΡΠΏΠΈΡΠΎΠΊ ΡΠ²ΠΎΠΉΡΡΠ², ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ. ΠΠ°Π½Π½ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΡΠ²Π½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΠ½ΠΈΠΌΠ°Π΅Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°ΡΡ ΡΡΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π° ΠΈΠ»ΠΈ Π½Π΅Ρ. API ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΏΠΎΡΡΠΎΠ²ΠΎΠΌ web-ΠΊΠ»ΠΈΠ΅Π½ΡΠ΅ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° ΠΏΠΎΠ»ΡΡΠ°ΡΠ΅Π»Π΅ΠΉ Π΄Π»Ρ ΠΎΡΠΏΡΠ°Π²Π»ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠΈΡΡΠΌΠ°, Π² web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ VoIP Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π·Π²ΠΎΠ½ΠΊΠ° ΠΏΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΌΡ Π½ΠΎΠΌΠ΅ΡΡ ΠΈΠ»ΠΈ Π² ΡΠΎΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅ΡΠΈ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΡΠΆΠ΅ Π·Π°ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Π΄ΡΡΠ·Π΅ΠΉ. ΠΡΠΈ ΡΡΠΎΠΌ Π² ΡΠ°ΠΌΠΊΠ°Ρ Origin Trials ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΠΎΠ²ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π° Contact Picker: ΠΏΠΎΠΌΠΈΠΌΠΎ ΡΠ°Π½Π΅Π΅ Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π€ΠΠ, email ΠΈ Π½ΠΎΠΌΠ΅Ρ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΠΏΠΎΡΡΠΎΠ²ΠΎΠ³ΠΎ Π°Π΄ΡΠ΅ΡΠ° ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. - Π Web Workers
ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½ΠΎΠ²ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ECMAScript, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΎΠ±ΠΎΠΉΡΠΈΡΡ Π±Π΅Π· ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ importScripts(), ΠΊΠΎΡΠΎΡΠ°Ρ Π±Π»ΠΎΠΊΠΈΡΡΠ΅Ρ ΡΠ°Π±ΠΎΡΡ worker-Π° Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΈΠΌΠΏΠΎΡΡΠΈΡΡΠ΅ΠΌΠΎΠ³ΠΎ ΡΠΊΡΠΈΠΏΡΠ° ΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π΅Π³ΠΎ Π² Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅. ΠΠΎΠ²ΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π΄Π»Ρ Web Workers, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ ΠΈΠΌΠΏΠΎΡΡΠ° JavaScript ΠΈ ΠΌΠΎΠ³ΡΡ Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ, Π½Π΅ Π±Π»ΠΎΠΊΠΈΡΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ worker-Π°. ΠΠ»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π² ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΎΡΠ΅ Worker ΠΏΡΠ΅Π΄ΡΡΠΌΠΎΡΡΠ΅Π½ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠΏ ΡΠ΅ΡΡΡΡΠ° — ‘module’:const worker = new Worker(‘worker.js’, {
type: ‘module’
}); -
Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π² JavaScript ΡΠΆΠ°ΡΡΡ ΠΏΠΎΡΠΎΠΊΠΎΠ², Π½Π΅ ΡΡΠ΅Π±ΡΡΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π²Π½Π΅ΡΠ½ΠΈΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. ΠΠ»Ρ ΡΠΆΠ°ΡΠΈΡ ΠΈ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ APICompressionStream ΠΈ DecompressionStream . ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΆΠ°ΡΠΈΠ΅ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ² gzip ΠΈ deflate.const compressionReadableStream
= inputReadableStream.pipeThrough(new CompressionStream(‘gzip’)); - ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ CSS-ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ «
line-break: anywhere «, ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡΠ΅Π΅ ΡΠ°Π·ΡΡΠ²Ρ Π½Π° ΡΡΠΎΠ²Π½Π΅ Π»ΡΠ±ΠΎΠ³ΠΎ ΡΠΈΠΏΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»Π°, Π² ΡΠΎΠΌ ΡΠΈΡΠ»Π΅ ΡΠ°Π·ΡΡΠ²Ρ ΡΡΠ΄ΠΎΠΌ Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ ΠΏΡΠ½ΠΊΡΡΠ°ΡΠΈΠΈ, ΠΏΡΠ΅Π΄ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΌΠΈ ΠΏΡΠΎΠ±Π΅Π»Π°ΠΌΠΈ (<pre>) ΠΈ Π² ΡΠ΅ΡΠ΅Π΄ΠΈΠ½Π΅ ΡΠ»ΠΎΠ². Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ CSS-ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ «overflow-wrap: anywhere » ΡΠ°Π·ΡΠ΅ΡΠ°ΡΡΠ΅Π΅ ΡΠ°Π·ΡΡΠ²Π°ΡΡ Π½Π΅ΡΠ°Π·ΡΡΠ²Π½ΡΠ΅ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² Π»ΡΠ±ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅, Π΅ΡΠ»ΠΈ Π² ΡΡΡΠΎΠΊΠ΅ Π½Π΅ ΡΠ΄Π°Π»ΠΎΡΡ Π½Π°ΠΉΡΠΈ ΠΏΡΠΈΠ³ΠΎΠ΄Π½ΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΡΠ²Π° ΠΏΠΎΠ·ΠΈΡΠΈΡ. - ΠΠ»Ρ ΠΌΠ΅Π΄ΠΈΠ°ΠΊΠΎΠ½ΡΠ΅ΠΊΡΠ°, ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ Π² ΡΠΈΡΡΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ΅ΡΠΎΠ΄Π°
MediaCapabilities.decodingInfo() , ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΡ Π±ΡΠ°ΡΠ·Π΅ΡΠ°, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π·Π°ΡΠΈΡΡΠ½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ Π²ΡΠ±ΠΎΡΠ° ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π² Π²ΡΡΠΎΠΊΠΎΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ ΡΠΊΠΎΠ½ΠΎΠΌΡΡΠ΅Π³ΠΎ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΡΠ½Π΅ΡΠ³ΠΈΠΈ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² Π΄Π΅ΠΊΠΎΠ΄ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Ρ ΡΡΡΡΠΎΠΌ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΠΏΡΠΎΠΏΡΡΠΊΠ½ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΠΈ ΠΈ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΡΠΊΡΠ°Π½Π°). - ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΠΌΠ΅ΡΠΎΠ΄
HTMLVideoElement.getVideoPlaybackQuality() , ΡΠ΅ΡΠ΅Π· ΠΊΠΎΡΠΎΡΡΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²Π΅Π΄Π΅Π½ΠΈΡ Π²ΠΈΠ΄Π΅ΠΎ Π΄Π»Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²ΠΊΠΈ Π±ΠΈΡΡΠ΅ΠΉΡΠ°, ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π²ΠΈΠ΄Π΅ΠΎ. - Π API
Payment Handler , ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΏΡΠΎΡΠ°Π΅Ρ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌΠΈ ΠΏΠ»Π°ΡΡΠΆΠ½ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ΄Π΅Π»Π΅Π³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π°Π΄ΡΠ΅ΡΠ° ΠΈ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π²Π½Π΅ΡΠ½Π΅ΠΌΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΡ ΠΏΠ»Π°ΡΡΠΆΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ (ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ»Π°ΡΡΠΆΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΌΠΎΠΆΠ΅Ρ ΠΎΠ±Π»Π°Π΄Π°ΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠΎΡΠ½ΡΠΌΠΈ ΡΠ²Π΅Π΄Π΅Π½ΠΈΡΠΌΠΈ, ΡΠ΅ΠΌ Π±ΡΠ°ΡΠ·Π΅Ρ). - ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° HTTP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°
Sec-Fetch-Dest , ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΠΎΡΠΏΡΠ°Π²ΠΈΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΡΠ΅ ΠΎ ΡΠΈΠΏΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ Ρ Π·Π°ΠΏΡΠΎΡΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ Π·Π°ΠΏΡΠΎΡΠ° ΡΠ΅ΡΠ΅Π· ΡΠ΅Π³ img ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΈΠΏ «image», Π΄Π»Ρ ΡΡΠΈΡΡΠΎΠ² — «font», Π΄Π»Ρ ΡΠΊΡΠΈΠΏΡΠΎΠ² — «script», Π΄Π»Ρ ΡΡΠΈΠ»Π΅ΠΉ — «style» ΠΈ Ρ.ΠΏ.). ΠΠ° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΡΠ΅ΡΠ²Π΅Ρ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ½ΡΡΡ ΠΌΠ΅ΡΡ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΠΏΠΎΠ² Π°ΡΠ°ΠΊ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ°Π»ΠΎΠ²Π΅ΡΠΎΡΡΠ½ΠΎ, ΡΡΠΎ ΡΡΡΠ»ΠΊΠ° Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° Π΄Π΅Π½Π΅Π³ Π±ΡΠ΄Π΅Ρ Π·Π°Π΄Π°Π½Π° ΡΠ΅ΡΠ΅Π· ΡΠ΅Π³ img, ΠΏΠΎΡΡΠΎΠΌΡ ΡΠ°ΠΊΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΡ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ). - Π JavaScript-Π΄Π²ΠΈΠΆΠΊΠ΅ V8
ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π² ΠΊΡΡΠ΅. ΠΠΌΠ΅ΡΡΠΎ ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ 64-ΡΠ°Π·ΡΡΠ΄Π½ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΎ Ρ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½ΡΡ Π½ΠΈΠΆΠ½ΠΈΡ Π±ΠΈΡΠΎΠ² ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ. ΠΠΎΠ΄ΠΎΠ±Π½Π°Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»Π° ΡΠΎΠΊΡΠ°ΡΠΈΡΡ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΊΡΡΠ΅ Π½Π° 40%, ΡΠ΅Π½ΠΎΠΉ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ Π½Π° 3-8%.
-
ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π² ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Ρ Π΄Π»Ρ web-ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ²:- Π web-ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ let ΠΈ class.
- Π£Π»ΡΡΡΠ΅Π½Ρ ΡΡΠ΅Π΄ΡΡΠ²Π° ΠΎΡΠ»Π°Π΄ΠΊΠΈ WebAssembly. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ°
DWARF Π΄Π»Ρ ΠΏΠΎΡΠ°Π³ΠΎΠ²ΠΎΠΉ ΠΎΡΠ»Π°Π΄ΠΊΠΈ, ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΡΠΎΡΠ΅ΠΊ ΠΎΡΡΠ°Π½ΠΎΠ²Π° ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΎΠΊ ΡΡΠ΅ΠΊΠ° Π² ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ΄Π΅, Π½Π° ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ WebAssembly. - Π£Π»ΡΡΡΠ΅Π½Π° ΠΏΠ°Π½Π΅Π»Ρ Π΄Π»Ρ Π°Π½Π°Π»ΠΈΠ·Π° ΡΠ΅ΡΠ΅Π²ΠΎΠΉ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠ΅ΠΏΠΎΡΠΊΠΈ Π²ΡΠ·ΠΎΠ²Π° ΡΠΊΡΠΈΠΏΡΠΎΠ², ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
Ρ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡΠ°.
ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΡΡΠΎΠ»Π±ΡΡ Path ΠΈ URL, Π² ΠΊΠΎΡΠΎΡΡΡ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ Π°Π±ΡΠΎΠ»ΡΡΠ½ΡΠΉ ΠΏΡΡΡ ΠΈ ΠΏΠΎΠ»Π½ΡΠΉ URL Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠ°. ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΎ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²ΡΠ±ΡΠ°Π½Π½ΠΎΠ³ΠΎ Π·Π°ΠΏΡΠΎΡΠ° Π² ΠΎΠ±Π·ΠΎΡΠ½ΠΎΠΉ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌΠ΅.
- ΠΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Network Conditions Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΎΠΏΡΠΈΡ Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠ° User-Agent.
- ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½ΠΎΠ²ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ Π°ΡΠ΄ΠΈΡΠ°.
- ΠΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅
Coverage ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ Π²ΡΠ±ΠΎΡ ΡΠ±ΠΎΡΠ° coverage-Π΄Π°Π½Π½ΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈΠ»ΠΈ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ° ΠΊΠΎΠ΄Π° (Π±ΠΎΠ»Π΅Π΅ Π΄Π΅ΡΠ°Π»ΡΠ½Π°Ρ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°, Π½ΠΎ ΡΡΠ΅Π±ΡΠ΅Ρ Π±ΠΎΠ»ΡΡΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ²).
- Π web-ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ let ΠΈ class.
- ΠΠ΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° AppCache (ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΡ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ web-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² offline-ΡΠ΅ΠΆΠΈΠΌΠ΅)
ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ ΡΠ΅ΠΊΡΡΠΈΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠΌ ΡΠ°ΠΉΡΠ° (Π΅ΡΠ»ΠΈ ΠΌΠ°Π½ΠΈΡΠ΅ΡΡ Π±ΡΠ» Π·Π°Π³ΡΡΠΆΠ΅Π½ Ρ www.example.com/foo/bar/, ΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ URL Π±ΡΠ΄Π΅Ρ Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π²Π½ΡΡΡΠΈ /foo/bar/). Π Chrome 82 ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ AppCache ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ ΡΠ΄Π°Π»ΠΈΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ. Π ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΠΏΡΠΈΡΠΈΠ½Ρ Π½Π°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΆΠ΅Π»Π°Π½ΠΈΠ΅ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π²Π΅ΠΊΡΠΎΡΠΎΠ² Π΄Π»Ρ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΠΈΡ Π°ΡΠ°ΠΊ, ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΌΠ΅ΠΆΡΠ°ΠΉΡΠΎΠ²ΡΠΌ ΡΠΊΡΠΈΠΏΡΠΈΠ½Π³ΠΎΠΌ. ΠΠΌΠ΅ΡΡΠΎ AppCache ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ APICache . -
ΠΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅Π³ΠΎ API WebVR 1.1, Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ APIWebXR Device , ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΠΈ ΠΈ ΡΠ½ΠΈΡΠΈΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ², ΠΎΡ ΡΡΠ°ΡΠΈΠΎΠ½Π°ΡΠ½ΡΡ ΡΠ»Π΅ΠΌΠΎΠ² Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΠΈ Π΄ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠΉ Π½Π° Π±Π°Π·Π΅ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ². - ΠΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ², ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ°Π΅ΠΌΡΠ΅ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅ΡΠΎΠ΄Ρ registerProtocolHandler() ΠΈ unregisterProtocolHandler(), ΡΠ΅ΠΏΠ΅ΡΡ ΠΌΠΎΠ³ΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π² Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ (ΠΏΡΠΈ Π΄ΠΎΡΡΡΠΏΠ΅ ΡΠ΅ΡΠ΅Π· HTTPS).
ΠΡΠΎΠΌΠ΅ Π½ΠΎΠ²ΠΎΠ²Π²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΈ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π² Π½ΠΎΠ²ΠΎΠΉ Π²Π΅ΡΡΠΈΠΈ ΡΡΡΡΠ°Π½Π΅Π½ΠΎ
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru