Google
-
Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅, ΡΠ΅ΠΆΠΈΠΌ Π·Π° Π·Π°ΡΠΈΡΠ° Π½Π° Π±ΠΈΡΠΊΠ²ΠΈΡΠΊΠΈ Π½Π° ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠΈ Π»ΠΈΠΏΡΠ°ΡΠ° Π½Π° Π°ΡΡΠΈΠ±ΡΡΠ° SameSite Π² Π·Π°Π³Π»Π°Π²ΠΊΠ°ΡΠ° Set-Cookie, ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ βSameSite=Laxβ, ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°ΠΉΠΊΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ΡΠΎ Π½Π° Π±ΠΈΡΠΊΠ²ΠΈΡΠΊΠΈ Π·Π° Π²ΠΌΡΠΊΠ²Π°Π½ΠΈΡ ΠΎΡ ΡΠ°ΠΉΡΠΎΠ²Π΅ Π½Π° ΡΡΠ΅ΡΠΈ ΡΡΡΠ°Π½ΠΈ (Π½ΠΎ ΡΠ°ΠΉΡΠΎΠ²Π΅ΡΠ΅ ΠΏΠ°ΠΊ ΡΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΎΡΠΌΠ΅Π½ΠΈΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΊΠ°ΡΠΎ ΠΈΠ·ΡΠΈΡΠ½ΠΎ Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠ°ΡΠ° Π½Π° Cookie Π½Π° SameSite=None). ΠΠΎΡΠ΅Π³Π° Π±ΡΠ°ΡΠ·ΡΡΡΡ Π΅ ΠΏΡΠ΅Π΄Π°Π²Π°Π» Π±ΠΈΡΠΊΠ²ΠΈΡΠΊΠ° ΠΏΡΠΈ Π²ΡΡΠΊΠ° Π·Π°ΡΠ²ΠΊΠ° ΠΊΡΠΌ ΡΠ°ΠΉΡ, ΠΊΠΎΠΉΡΠΎ ΠΈΠΌΠ° Π½Π°Π±ΠΎΡ ΠΎΡ Π±ΠΈΡΠΊΠ²ΠΈΡΠΊΠΈ, Π΄ΠΎΡΠΈ Π°ΠΊΠΎ ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π½ΠΎ Π΅ ΠΎΡΠ²ΠΎΡΠ΅Π½ Π΄ΡΡΠ³ ΡΠ°ΠΉΡ ΠΈ Π·Π°ΡΠ²ΠΊΠ°ΡΠ° Π΅ Π½Π°ΠΏΡΠ°Π²Π΅Π½Π° ΠΈΠ½Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΡΡΠ΅Π· Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡΡΠ΅Π· iframe. Π ΡΠ΅ΠΆΠΈΠΌ βLaxβ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π±ΠΈΡΠΊΠ²ΠΈΡΠΊΠΈ Π΅ Π±Π»ΠΎΠΊΠΈΡΠ°Π½ΠΎ ΡΠ°ΠΌΠΎ Π·Π° ΠΏΠΎΠ΄Π·Π°ΡΠ²ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΠΉΡΠΎΠ²Π΅, ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΊΠ°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ ΡΡΠ΅Π· iframe, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ΡΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° CSRF Π°ΡΠ°ΠΊΠΈ ΠΈ ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΡΡΠ° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ°ΠΉΡΠΎΠ²Π΅ΡΠ΅. - ΠΡΠ·ΠΏΡΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° Flash ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ Π΅ ΡΠΏΡΡΠ½ΠΎ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅. ΠΠΎ ΠΏΡΡΠΊΠ°Π½Π΅ΡΠΎ Π½Π° Chrome 87, ΠΎΡΠ°ΠΊΠ²Π°Π½ΠΎ ΠΏΡΠ΅Π· Π΄Π΅ΠΊΠ΅ΠΌΠ²ΡΠΈ 2020 Π³., ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° Flash ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ Π²ΡΡΠ½Π°ΡΠ° Π² Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ (Π Π°Π·ΡΠΈΡΠ΅Π½ΠΈ > ΠΠΎΠ²Π΅ΡΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΈ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ > ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π° ΡΠ°ΠΉΡΠ°), ΠΏΠΎΡΠ»Π΅Π΄Π²Π°Π½ΠΎ ΠΎΡ ΠΈΠ·ΡΠΈΡΠ½ΠΎ ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΡΠ° Π·Π° Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Flash ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ Π·Π° Π²ΡΠ΅ΠΊΠΈ ΡΠ°ΠΉΡ (ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ ΠΏΠΎΠΌΠ½ΠΈ Π΄ΠΎ Π±ΡΠ°ΡΠ·ΡΡΡΡ ΡΠ΅ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°). ΠΡΠ»Π½ΠΎΡΠΎ ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄Π° Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° Flash Π΅ Π² ΡΠΈΠ½Ρ ΡΠΎΠ½ Ρ ΠΏΠΎ-ΡΠ°Π½Π½ΠΈΡ ΠΏΠ»Π°Π½ Π½Π° Adobe Π·Π° ΠΏΡΠ΅ΠΊΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π·Π° Flash ΠΏΡΠ΅Π· 2020 Π³.;
- ΠΠ° ΠΏΡΠ΅Π΄ΠΏΡΠΈΡΡΠΈΡΡΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° ΡΡΡΡΠ΅Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² Ρ
ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ Π½Π° Google Drive Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ Π°Π΄ΡΠ΅ΡΠ½Π°ΡΠ° Π»Π΅Π½ΡΠ°;
- ΠΠ°ΠΏΠΎΡΠ½Π°ΡΠ°
ΠΌΠ°ΡΠΎΠ²ΠΎ Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π Chrome, Π½Π΅ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈ ΡΠ΅ΠΊΠ»Π°ΠΌΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ΅ΡΠ°Ρ Π½Π° ΠΈΠ·ΠΆΠΈΠ²ΡΠ²Π°Π½Π΅ΡΠΎ ΠΈ Π½Π΅ ΠΎΡΠ³ΠΎΠ²Π°ΡΡΡ Π½Π° ΠΊΡΠΈΡΠ΅ΡΠΈΠΈΡΠ΅, ΡΡΡΠ°Π½ΠΎΠ²Π΅Π½ΠΈ ΠΎΡ ΠΠΎΠ°Π»ΠΈΡΠΈΡΡΠ° Π·Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΠΊΠ»Π°ΠΌΠΈΡΠ΅; - Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ Π΅ Π°Π΄Π°ΠΏΡΠΈΠ²Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅ ΠΊΡΠΌ Π½ΠΎΠ²Π° ΡΡΡΠ°Π½ΠΈΡΠ°, ΠΏΡΠΈ ΠΊΠΎΠΉΡΠΎ ΡΠ΅ΠΊΡΡΠΎΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ ΡΠ΅ ΠΈΠ·ΡΠΈΡΡΠ²Π° ΠΈ Π±Π΅Π»ΠΈΡΡ ΡΠΎΠ½ ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π° Π½Π΅ Π²Π΅Π΄Π½Π°Π³Π°, Π° ΡΠ»Π΅Π΄ ΠΊΡΠ°ΡΠΊΠΎ Π·Π°Π±Π°Π²ΡΠ½Π΅. ΠΠ° Π±ΡΡΠ·ΠΎ Π·Π°ΡΠ΅ΠΆΠ΄Π°ΡΠΈ ΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΠΈ ΠΈΠ·ΡΠΈΡΡΠ²Π°Π½Π΅ΡΠΎ Π²ΠΎΠ΄ΠΈ ΡΠ°ΠΌΠΎ Π΄ΠΎ ΡΡΠ΅ΠΏΡΠ΅Π½Π΅ ΠΈ Π½Π΅ Π½ΠΎΡΠΈ ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΡΠΎΠ²Π°Ρ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ Π΄Π° ΠΈΠ½ΡΠΎΡΠΌΠΈΡΠ° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ, ΡΠ΅ Π½ΠΎΠ²Π° ΡΡΡΠ°Π½ΠΈΡΠ° Π·Π°ΠΏΠΎΡΠ²Π° Π΄Π° ΡΠ΅ Π·Π°ΡΠ΅ΠΆΠ΄Π°. Π Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ, Π°ΠΊΠΎ ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° ΡΠ΅ ΠΎΡΠ²Π°ΡΡ Π±ΡΡΠ·ΠΎ ΠΈ ΡΠ΅ ΠΏΠΎΠ±ΠΈΡΠ° Ρ ΠΌΠ°Π»ΠΊΠΎ Π·Π°Π±Π°Π²ΡΠ½Π΅, ΡΠΎΠ³Π°Π²Π° Π½ΠΎΠ²Π°ΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ° ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π° Π½Π° ΠΌΡΡΡΠΎ, Π±Π΅Π·ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΠΎ Π·Π°ΠΌΠ΅ΡΡΠ²Π°ΠΉΠΊΠΈ ΠΏΡΠ΅Π΄ΠΈΡΠ½Π°ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΄ΠΎΠ±Π½ΠΎ Π΅, ΠΊΠΎΠ³Π°ΡΠΎ ΠΏΡΠ΅Π²ΠΊΠ»ΡΡΠ²Π°ΡΠ΅ ΠΊΡΠΌ Π΄ΡΡΠ³ΠΈ ΡΡΡΠ°Π½ΠΈΡΠΈ ΠΎΡ ΡΡΡΠΈΡ ΡΠ°ΠΉΡ, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π² Π΄ΠΈΠ·Π°ΠΉΠ½ ΠΈ ΡΠ²Π΅ΡΠΎΠ²Π° ΡΡ Π΅ΠΌΠ°). ΠΠΊΠΎ ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° ΠΎΡΠ½Π΅ΠΌΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅, Π·Π° Π΄Π° Π±ΡΠ΄Π΅ Π²ΠΈΠ΄ΠΈΠΌΠ° Π·Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ, ΡΠΎΠ³Π°Π²Π° Π΅ΠΊΡΠ°Π½ΡΡ ΡΠ΅ Π±ΡΠ΄Π΅ ΠΏΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ·ΡΠΈΡΡΠ΅Π½ ΠΊΠ°ΠΊΡΠΎ ΠΏΡΠ΅Π΄ΠΈ;
- ΠΡΠΈΡΠ΅ΡΠΈΠΈΡΠ΅ Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° ΡΠ° Π·Π°ΡΠ΅Π³Π½Π°ΡΠΈ. Chrome ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΈΠ·ΡΠΊΠ°ΡΠ°ΡΠΈ ΠΈΠ·Π²Π΅ΡΡΠΈΡ ΠΈ Π΄ΠΎΡΠ°Π΄Π½ΠΎ Π²ΠΈΠ΄Π΅ΠΎ/Π°ΡΠ΄ΠΈΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ ΡΠ°ΠΌΠΎ ΡΠ»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²Π° ΡΡΡ ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ°. Π Π½ΠΎΠ²ΠΎΡΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π½Π°ΡΠΈΡΠΊΠ°Π½Π΅ΡΠΎ Π½Π° Escape, Π·Π°Π΄ΡΡΠΆΠ°Π½Π΅ΡΠΎ Π½Π° ΠΊΡΡΡΠΎΡΠ° Π²ΡΡΡ Ρ Π²ΡΡΠ·ΠΊΠ° ΠΈ Π΄ΠΎΠΊΠΎΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΅ΠΊΡΠ°Π½Π° Π²Π΅ΡΠ΅ Π½Π΅ ΡΠ΅ ΡΡΠ΅ΡΠΈΡΠ°Ρ ΠΊΠ°ΡΠΎ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ, Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠΈ ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° (ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΈΠ·ΡΠΈΡΠ½ΠΎ ΠΊΠ»ΠΈΠΊΠ²Π°Π½Π΅, Π²ΡΠ²Π΅ΠΆΠ΄Π°Π½Π΅ ΠΈΠ»ΠΈ ΠΏΡΠ΅Π²ΡΡΡΠ°Π½Π΅);
-
ΠΠΎΠ±Π°Π²Π΅Π½ΠΎ ΠΌΠ΅Π΄ΠΈΠΉΠ½Π°ΡΠ° Π·Π°ΡΠ²ΠΊΠ° βprefers-color-schemeβ, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΡΠ°ΠΉΡΠΎΠ²Π΅ΡΠ΅ Π΄Π° ΠΎΡΠΊΡΠΈΡΡ Π΄Π°Π»ΠΈ Π±ΡΠ°ΡΠ·ΡΡΡΡ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΡΠΌΠ½Π° ΡΠ΅ΠΌΠ° ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Ρ ΡΡΠΌΠ½Π° Π·Π° ΡΠ°Π·Π³Π»Π΅ΠΆΠ΄Π°Π½ΠΈΡ ΡΠ°ΠΉΡ. - ΠΠΎΠ³Π°ΡΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ ΡΡΠΌΠ½Π°ΡΠ° ΡΠ΅ΠΌΠ° Π² ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΠΈ Π·Π° Linux, Π°Π΄ΡΠ΅ΡΠ½Π°ΡΠ° Π»Π΅Π½ΡΠ° Π²Π΅ΡΠ΅ ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π° Π² ΡΡΠΌΠ΅Π½ ΡΠ²ΡΡ;
-
Π±Π»ΠΎΠΊΠΈΡΠ°Π½ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΠ° Π΄Π° ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈ ΠΎΡΠ²Π°ΡΡΠ½Π΅ΡΠΎ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ° Π² ΡΠ΅ΠΆΠΈΠΌ ΠΈΠ½ΠΊΠΎΠ³Π½ΠΈΡΠΎ ΡΡΠ΅Π· ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΈΠΈ Ρ API Π½Π° FileSystem, ΠΊΠΎΠΉΡΠΎ ΠΏΡΠ΅Π΄ΠΈ Π±Π΅ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ ΠΎΡ Π½ΡΠΊΠΎΠΈ ΠΏΡΠ±Π»ΠΈΠΊΠ°ΡΠΈΠΈ Π·Π° Π½Π°Π»Π°Π³Π°Π½Π΅ Π½Π° ΠΏΠ»Π°ΡΠ΅Π½ Π°Π±ΠΎΠ½Π°ΠΌΠ΅Π½Ρ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎ ΠΎΡΠ²Π°ΡΡΠ½Π΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠΈ Π±Π΅Π· Π·Π°ΠΏΠΎΠΌΠ½ΡΠ½Π΅ Π½Π° Π±ΠΈΡΠΊΠ²ΠΈΡΠΊΠΈ (ΡΠ°ΠΊΠ° ΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π΄Π° Π½Π΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠ°ΡΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π·Π° Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ Π½Π° ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° Π±Π΅Π·ΠΏΠ»Π°ΡΠ΅Π½ ΠΏΡΠΎΠ±Π΅Π½ Π΄ΠΎΡΡΡΠΏ). ΠΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π°, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ°Π±ΠΎΡΠΈ Π² ΡΠ΅ΠΆΠΈΠΌ ΠΈΠ½ΠΊΠΎΠ³Π½ΠΈΡΠΎ, Π±ΡΠ°ΡΠ·ΡΡΡΡ Π±Π»ΠΎΠΊΠΈΡΠ° Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ API Π½Π° FileSystem, Π·Π° Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈ ΡΡΠ΅ΠΆΠ΄Π°Π½Π΅ΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠΈΠΈΡΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°ΡΠ΅ Π½Π° JavaScript Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠ° Π·Π° Π·Π°ΠΏΠ°Π·Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈ ΡΡΠ΅Π· API Π½Π° FileSystem ΠΈ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΠΏΠΎΠ²ΡΠ΅Π΄Π° Π΄Π° ΠΏΡΠ΅ΡΠ΅Π½ΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎΡΡΡΠ° Π½Π° ΡΠ΅ΠΆΠΈΠΌΠ° ΠΈΠ½ΠΊΠΎΠ³Π½ΠΈΡΠΎ . Π‘Π΅Π³Π° Π΄ΠΎΡΡΡΠΏΡΡ Π΄ΠΎ API Π½Π° FileSystem Π½Π΅ Π΅ Π±Π»ΠΎΠΊΠΈΡΠ°Π½ ΠΈ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ΡΠΎ ΡΠ΅ ΠΈΠ·ΡΠΈΡΡΠ²Π° ΡΠ»Π΅Π΄ ΠΊΡΠ°Ρ Π½Π° ΡΠ΅ΡΠΈΡΡΠ°; -
ΠΠΎΠ±Π°Π²Π΅Π½ΠΎ Π½ΠΎΠ²ΠΈ ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ°ΡΠ΅Π»ΡΡΠ²Π° Π²
API Π·Π°ΡΠ²ΠΊΠ° Π·Π° ΠΏΠ»Π°ΡΠ°Π½Π΅ ΠΈ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡ Π½Π° ΠΏΠ»Π°ΡΠ°Π½ΠΈΡ. Π ΠΎΠ±Π΅ΠΊΡΠ° PaymentRequestEvent ΡΠ΅ ΠΏΠΎΡΠ²ΠΈ Π½ΠΎΠ² ΠΌΠ΅ΡΠΎΠ΄ changePaymentMethod() ΠΈ ΠΊΡΠΌ ΠΎΠ±Π΅ΠΊΡΠ° PaymentRequest Π΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ Π½ΠΎΠ² ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡ Π½Π° ΡΡΠ±ΠΈΡΠΈΠ΅ Π·Π° paymentmethodchange, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΡΠ°ΠΉΡΠ° ΠΈΠ»ΠΈ ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ ΡΡΠ±ΠΈΡΠ° ΠΏΠ»Π°ΡΠ°Π½ΠΈΡ, Π΄Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ, ΠΏΡΠΎΠΌΠ΅Π½ΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° Π½Π° ΠΏΠ»Π°ΡΠ°Π½Π΅. ΠΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΡΠ»Π΅ΡΠ½ΡΠ²Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΡΠ°ΠΌΠΎΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ΠΈ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ Π² ΡΠ²ΡΡΠ·Π°Π½ΠΈΡΠ΅ Ρ ΠΏΠ»Π°ΡΠ°Π½ΠΈΡΡΠ° API. ΠΠΎΠ±Π°Π²Π΅Π½Π° Π΅ Π½ΠΎΠ²Π° ΠΎΠΏΡΠΈΡ Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΈΡ ΡΠ΅Π΄ β--ignore-certificate-errorsβ Π·Π° ΠΈΠ³Π½ΠΎΡΠΈΡΠ°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠΈ Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ°; - Π Π°Π΄ΡΠ΅ΡΠ½Π°ΡΠ° Π»Π΅Π½ΡΠ° Π΄ΠΎ Π±ΡΡΠΎΠ½Π° Π·Π° ΠΎΡΠΌΠ΅ΡΠΊΠΈ Π·Π° ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Π² ΡΠ΅ΠΆΠΈΠΌ Desktop Progressive Web Apps (PWA),
Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΎ ΠΏΡΡΠΊ ΠΏΡΡ Π·Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°, Π·Π° Π΄Π° ΡΠ°Π±ΠΎΡΠΈ ΠΊΠ°ΡΠΎ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»Π½Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ°;
- ΠΠ° ΠΌΠΎΠ±ΠΈΠ»Π½ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π΄ΠΈΡΠΏΠ»Π΅Ρ Π½Π° ΠΌΠΈΠ½ΠΈΠΏΠ°Π½Π΅Π» Ρ ΠΏΠΎΠΊΠ°Π½Π° Π·Π° Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΡΠΌ Π½Π°ΡΠ°Π»Π½ΠΈΡ Π΅ΠΊΡΠ°Π½. ΠΠ° PWA (Progressive Web App) ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΌΠΈΠ½ΠΈΠ±Π°ΡΡΡ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π²Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ, ΠΊΠΎΠ³Π°ΡΠΎ Π·Π° ΠΏΡΡΠ²ΠΈ ΠΏΡΡ ΠΎΡΠ²ΠΎΡΠΈΡΠ΅ ΡΠ°ΠΉΡΠ°. Π Π°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΡΡ Π²Π΅ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡΠΊΠ°ΠΆΠ΅ Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅ ΡΠΎΠ·ΠΈ ΠΏΠ°Π½Π΅Π» ΠΈ Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠΈ ΡΠ²ΠΎΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΠΎΠ½Π½Π° ΠΏΠΎΠ΄ΠΊΠ°Π½Π°, Π·Π° ΠΊΠΎΡΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡ Π½Π° ΡΡΠ±ΠΈΡΠΈΡ
beforeinstallprompt ΠΈ ΠΏΡΠΈΠΊΠ°ΡΠ΅ΡΠ΅ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ ΠΊΡΠΌ preventDefault();
- Π£Π²Π΅Π»ΠΈΡΠ΅Π½Π° Π΅ ΡΠ΅ΡΡΠΎΡΠ°ΡΠ° Π½Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈΡΠ΅ Π·Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π·Π° PWA (Progressive Web App) ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΈ Π² ΡΡΠ΅Π΄Π°ΡΠ° Π½Π° Android. ΠΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈΡΠ΅ Π½Π° WebAPK Π²Π΅ΡΠ΅ ΡΠ΅ ΠΏΡΠΎΠ²Π΅ΡΡΠ²Π°Ρ Π²Π΅Π΄Π½ΡΠΆ Π½Π° Π΄Π΅Π½ Π²ΠΌΠ΅ΡΡΠΎ Π²Π΅Π΄Π½ΡΠΆ Π½Π° Π²ΡΠ΅ΠΊΠΈ ΡΡΠΈ Π΄Π½ΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΏΡΠ΅Π΄ΠΈ. ΠΠΊΠΎ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΡΠ°ΠΊΠ°Π²Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Π² ΠΌΠ°Π½ΠΈΡΠ΅ΡΡΠ° Π±ΡΠ΄Π΅ ΠΎΡΠΊΡΠΈΡΠ° ΠΏΡΠΎΠΌΡΠ½Π° Π² ΠΏΠΎΠ½Π΅ Π΅Π΄Π½ΠΎ ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ Π½Π° ΠΊΠ»ΡΡ, Π±ΡΠ°ΡΠ·ΡΡΡΡ ΡΠ΅ ΠΈΠ·ΡΠ΅Π³Π»ΠΈ ΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ° Π½ΠΎΠ² WebAPK;
- Π API
ΠΡΠΈΠ½Ρ ΡΠΎΠ½Π΅Π½ ΠΊΠ»ΠΈΠΏΠ±ΠΎΡΠ΄ Π΄ΠΎΠ±Π°Π²Π΅Π½Π° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΎ ΡΠ΅ΡΠ΅Π½Π΅ ΠΈ ΠΏΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π· ΠΊΠ»ΠΈΠΏΠ±ΠΎΡΠ΄Π° Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ navigator.clipboard.read() ΠΈ navigator.clipboard.write(); - Π Π΅Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π·Π° Π³ΡΡΠΏΠ° HTTP Π·Π°Π³Π»Π°Π²ΠΊΠΈ
ΠΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ (Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site ΠΈ Sec-Fetch-User), ΠΊΠΎΠΈΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°ΡΠ΅ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΌΠ΅ΡΠ°Π΄Π°Π½Π½ΠΈ Π·Π° Π΅ΡΡΠ΅ΡΡΠ²ΠΎΡΠΎ Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ° (ΠΌΠ΅ΠΆΠ΄ΡΡΠ°ΠΉΡΠΎΠ²Π° Π·Π°ΡΠ²ΠΊΠ°, Π·Π°ΡΠ²ΠΊΠ° ΡΡΠ΅Π· img ΡΠ°Π³Π° ΠΈ Ρ.Π½.) Π·Π° ΠΏΡΠΈΠ΅ΠΌΠ°Π½Π΅ ΠΎΡ ΡΡΡΠ²ΡΡ Π½Π° ΠΌΠ΅ΡΠΊΠΈ Π·Π° Π·Π°ΡΠΈΡΠ° ΡΡΠ΅ΡΡ Π½ΡΠΊΠΎΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅ Π°ΡΠ°ΠΊΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠ°Π»ΠΊΠΎ Π²Π΅ΡΠΎΡΡΠ½ΠΎ Π΅ Π²ΡΡΠ·ΠΊΠ°ΡΠ° ΠΊΡΠΌ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠ° Π½Π° ΠΏΠ°ΡΠΈΡΠ½ΠΈ ΠΏΡΠ΅Π²ΠΎΠ΄ΠΈ Π΄Π° Π±ΡΠ΄Π΅ Π·Π°Π΄Π°Π΄Π΅Π½Π° ΡΡΠ΅Π· img ΡΠ°Π³Π°, ΡΠ°ΠΊΠ° ΡΠ΅ ΡΠ°ΠΊΠΈΠ²Π° Π·Π°ΡΠ²ΠΊΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ Π±Π»ΠΎΠΊΠΈΡΠ°Π½ΠΈ, Π±Π΅Π· Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΡΠ΅Π΄Π°Π΄Π΅Π½ΠΈ ΠΊΡΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ); - ΠΠΎΠ±Π°Π²Π΅Π½Π° ΡΡΠ½ΠΊΡΠΈΡ
form.requestSubmit() , ΠΊΠΎΠ΅ΡΠΎ ΠΈΠ½ΠΈΡΠΈΠΈΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠ½ΠΎ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΎΡ ΡΠΎΡΠΌΡΠ»ΡΡΠ°, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ Π½Π° ΡΡΠ°ΠΊΠ²Π°Π½Π΅ Π²ΡΡΡ Ρ Π±ΡΡΠΎΠ½Π° Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅. Π€ΡΠ½ΠΊΡΠΈΡΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ Π½Π° Π²Π°ΡΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ Π±ΡΡΠΎΠ½ΠΈ Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ Π½Π° ΡΠΎΡΠΌΡΠ»ΡΡ, Π·Π° ΠΊΠΎΠ΅ΡΠΎ ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½Π΅ΡΠΎ Π½Π° form.submit() Π½Π΅ Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ΠΏΠΎΡΠ°Π΄ΠΈ ΡΠ°ΠΊΡΠ°, ΡΠ΅ Π½Π΅ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΎ Π²Π°Π»ΠΈΠ΄ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ, ΠΏΠΎΠ²Π΄ΠΈΠ³Π°Π½Π΅ Π½Π° ΡΡΠ±ΠΈΡΠΈΠ΅ΡΠΎ βΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅β ΠΈ ΠΏΡΠ΅Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅, ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΠΊΡΠΌ Π±ΡΡΠΎΠ½Π° Π·Π° ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅; - Π€ΡΠ½ΠΊΡΠΈΡ, Π΄ΠΎΠ±Π°Π²Π΅Π½Π° ΠΊΡΠΌ IndexedDB
Π°Π½Π³Π°ΠΆΠΈΡΠ°ΠΌ() A, ΠΊΠΎΠΉΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ IDBTransaction ΠΎΠ±Π΅ΠΊΡ, Π±Π΅Π· Π΄Π° ΡΠ°ΠΊΠ°ΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π°ΡΠΈΡΠ΅ ΡΡΠ±ΠΈΡΠΈΡ Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈ ΡΠ²ΡΡΠ·Π°Π½ΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π΄Π° Π·Π°Π²ΡΡΡΠ°Ρ. ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° commit() Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° ΡΠ²Π΅Π»ΠΈΡΠΈΡΠ΅ ΠΏΡΠΎΠΏΡΡΠΊΠ°ΡΠ΅Π»Π½Π°ΡΠ° ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π·Π° Π·Π°ΠΏΠΈΡ ΠΈ ΡΠ΅ΡΠ΅Π½Π΅ ΠΊΡΠΌ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ ΠΈ ΠΈΠ·ΡΠΈΡΠ½ΠΎ Π΄Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°ΡΠ΅ Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΡΡΠ°; - ΠΠΏΡΠΈΠΈ, Π΄ΠΎΠ±Π°Π²Π΅Π½ΠΈ ΠΊΡΠΌ ΡΡΠ½ΠΊΡΠΈΠΈΡΠ΅ Intl.DateTimeFormat, ΠΊΠ°ΡΠΎ formatToParts() ΠΈ resolveOptions()
dateStyle ΠΈ timeStyle , ΠΊΠΎΠΈΡΠΎ Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ Π΄Π° ΠΏΠΎΠΈΡΠΊΠ°ΡΠ΅ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ Π·Π° Π»ΠΎΠΊΠ°Π»Π° ΡΡΠΈΠ»ΠΎΠ²Π΅ Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° Π΄Π°ΡΠΈ ΠΈ ΡΠ°ΡΠΎΠ²Π΅; - ΠΠ΅ΡΠΎΠ΄ΡΡ BigInt.prototype.toLocaleString() Π΅ ΠΏΡΠΎΠΌΠ΅Π½Π΅Π½ Π΄Π° ΡΠΎΡΠΌΠ°ΡΠΈΡΠ° ΡΠΈΡΠ»Π° Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π»ΠΎΠΊΠ°Π»Π°, Π΄ΠΎΠΊΠ°ΡΠΎ ΠΌΠ΅ΡΠΎΠ΄ΡΡ Intl.NumberFormat.prototype.format() ΠΈ ΡΡΠ½ΠΊΡΠΈΡΡΠ° formatToParts() ΡΠ° Π°Π΄Π°ΠΏΡΠΈΡΠ°Π½ΠΈ Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ Π²Ρ ΠΎΠ΄Π½ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ BigInt;
- API ΡΠ°Π·ΡΠ΅ΡΠ΅Π½
ΠΠ΅Π΄ΠΈΠΉΠ½ΠΈ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π²ΡΠ² Π²ΡΠΈΡΠΊΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅ ΡΠ΅Π± ΡΠ°Π±ΠΎΡΠ½ΠΈΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° ΠΈΠ·Π±ΠΎΡ Π½Π° ΠΎΠΏΡΠΈΠΌΠ°Π»Π½ΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ ΠΏΡΠΈ ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° MediaStream ΠΎΡ ΡΠ°Π±ΠΎΡΠ½ΠΈΠΊ; - ΠΠΎΠ±Π°Π²Π΅Π½ ΠΌΠ΅ΡΠΎΠ΄
Promise.allSettled() , ΠΊΠΎΠΉΡΠΎ Π²ΡΡΡΠ° ΡΠ°ΠΌΠΎ Π²Π΅ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈ ΠΈΠ»ΠΈ ΠΎΡΡ Π²ΡΡΠ»Π΅Π½ΠΈ ΠΎΠ±Π΅ΡΠ°Π½ΠΈΡ, ΠΊΠ°ΡΠΎ ΠΈΠ³Π½ΠΎΡΠΈΡΠ° ΡΠ°ΠΊΠ°ΡΠΈ ΠΎΠ±Π΅ΡΠ°Π½ΠΈΡ; - ΠΡΠ΅ΠΌΠ°Ρ Π½Π° ΠΎΠΏΡΠΈΡΡΠ° β--disable-infobarsβ, ΠΊΠΎΡΡΠΎ ΠΏΡΠ΅Π΄ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·ΡΠΊΠ°ΡΠ°ΡΠΈ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π² ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π½Π° Chrome (ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π΅ CommandLineFlagSecurityWarningsEnabled Π·Π° ΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ ΡΡΡ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ°);
- ΠΡΠΌ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Π·Π° ΡΠ°Π±ΠΎΡΠ° Ρ blobs
Π΄ΠΎΠ±Π°Π²Π΅Π½ text(), arrayBuffer() ΠΈ stream() ΠΌΠ΅ΡΠΎΠ΄ΠΈ Π·Π° ΡΠ΅ΡΠ΅Π½Π΅ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΠΏΠΎΠ²Π΅ Π΄Π°Π½Π½ΠΈ; - ΠΠΎΠ±Π°Π²Π΅Π½ΠΎ Π΅ CSS ΡΠ²ΠΎΠΉΡΡΠ²ΠΎ "white-space:break-spaces", ΡΠΊΠ°Π·Π²Π°ΡΠΎ, ΡΠ΅ Π²ΡΡΠΊΠ° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡ ΠΎΡ ΠΈΠ½ΡΠ΅ΡΠ²Π°Π»ΠΈ, Π²ΠΎΠ΄Π΅ΡΠΈ Π΄ΠΎ ΠΏΡΠ΅ΠΏΡΠ»Π²Π°Π½Π΅ Π½Π° ΡΠ΅Π΄Π°, ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ ΠΏΡΠ΅ΠΊΡΡΠ½Π°ΡΠ°;
- ΠΠ°ΠΏΠΎΡΠ½Π° ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΠΏΠΎΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° Π·Π½Π°ΠΌΠ΅Π½Π° Π² chrome://flags, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ,
ΠΎΡΡΡΡΠ°Π½Π΅Π½ΠΈ ΡΠ»Π°Π³ Π·Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Π°ΡΡΠΈΠ±ΡΡΠ° "ping", ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡΠΈΡΠ΅ Π½Π° ΡΠ°ΠΉΡΠΎΠ²Π΅ Π΄Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Ρ ΠΊΠ»ΠΈΠΊΠ²Π°Π½ΠΈΡ Π²ΡΡΡ Ρ Π²ΡΡΠ·ΠΊΠΈ ΠΎΡ ΡΠ΅Ρ Π½ΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΠΈ. Π ΡΠ»ΡΡΠ°ΠΉ Π½Π° ΡΠ»Π΅Π΄Π²Π°Π½Π΅ Π½Π° Π²ΡΡΠ·ΠΊΠ° Ρ Π°ΡΡΠΈΠ±ΡΡΠ° "ping=URL" Π² ΡΠ°Π³Π° "a href", Π±ΡΠ°ΡΠ·ΡΡΡΡ Π²Π΅ΡΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° Π·Π°Π±ΡΠ°Π½ΠΈ ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ΡΠΎ Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½Π° POST Π·Π°ΡΠ²ΠΊΠ° ΠΊΡΠΌ URL Π°Π΄ΡΠ΅ΡΠ°, ΠΏΠΎΡΠΎΡΠ΅Π½ Π² Π°ΡΡΠΈΠ±ΡΡΠ° Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° ΠΏΡΠ΅Ρ ΠΎΠ΄Π°. Π’ΠΎΡΠΊΠ°ΡΠ° Π½Π° Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ Π½Π° ping ΡΠ΅ Π³ΡΠ±ΠΈ, Π·Π°ΡΠΎΡΠΎ ΡΠΎΠ·ΠΈ Π°ΡΡΠΈΠ±ΡΡΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ Π² ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈΡΠ΅ Π½Π° HTML5 ΠΈ ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΡΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π° ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΡΡΡΠΎΡΠΎ Π½Π΅ΡΠΎ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΠΏΡΠ΅ΠΏΡΠ°ΡΠ°Π½Π΅ ΠΏΡΠ΅Π· ΡΡΠ°Π½Π·ΠΈΡΠ½Π° Π²ΡΡΠ·ΠΊΠ° ΠΈΠ»ΠΈ Π·Π°ΠΊΠ°ΡΠ°Π½Π΅ Π½Π° ΠΊΠ»ΠΈΠΊΠ²Π°Π½ΠΈΡ Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΎΡΠΈ Π½Π° JavaScript); - ΠΡΠ΅ΠΌΠ°Ρ
Π½Π°ΡΠΎ Π·Π½Π°ΠΌΠ΅ Π·Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅
ΡΡΡΠΎΠ³ ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΠΈΠ·ΠΎΠ»Π°ΡΠΈΡ Π½Π° ΡΠ°ΠΉΡΠ° , Π² ΠΊΠΎΠΉΡΠΎ ΡΡΡΠ°Π½ΠΈΡΠΈΡΠ΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Ρ ΠΎΡΡΠΎΠ²Π΅ Π²ΠΈΠ½Π°Π³ΠΈ ΡΠ΅ Π½Π°ΠΌΠΈΡΠ°Ρ Π² ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ, Π²ΡΠ΅ΠΊΠΈ ΠΎΡ ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ²ΠΎΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π° ΠΏΡΡΡΡΠ½Π° ΠΊΡΡΠΈΡ. - ΠΡΠ² V8 Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ΡΠΎ ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° JSON ΡΠΎΡΠΌΠ°ΡΠ° Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π°. ΠΠ° ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΈ ΡΠ΅Π± ΡΡΡΠ°Π½ΠΈΡΠΈ JSON.parse Π΅ Π΄ΠΎ 2.7 ΠΏΡΡΠΈ ΠΏΠΎ-Π±ΡΡΠ·. ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Unicode Π½ΠΈΠ·ΠΎΠ²Π΅ Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΡΡΠΊΠΎΡΠ΅Π½ΠΎ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΊΠΎΡΠΎΡΡΡΠ° Π½Π° ΠΈΠ·Π²ΠΈΠΊΠ²Π°Π½ΠΈΡΡΠ° ΠΊΡΠΌ String#localeCompare, String#normalize, ΠΊΠ°ΠΊΡΠΎ ΠΈ Π½ΡΠΊΠΎΠΈ Intl API, Π΅ ΠΏΠΎΡΡΠΈ ΡΠ΄Π²ΠΎΠ΅Π½Π°. ΠΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈΡΠ΅ ΡΡΡ Π·Π°ΠΌΡΠ°Π·Π΅Π½ΠΈ ΠΌΠ°ΡΠΈΠ²ΠΈ ΡΡΡΠΎ Π΅ Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΎ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π° ΠΏΡΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΊΠ°ΡΠΎ frozen.indexOf(v), frozen.includes(v), fn(β¦frozen), fn(β¦[β¦frozen]) ΠΈ fn.apply(this , [β¦ Π·Π°ΠΌΡΠ°Π·Π΅Π½ΠΈ]).
Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ ΠΈΠ½ΠΎΠ²Π°ΡΠΈΠΈΡΠ΅ ΠΈ ΠΊΠΎΡΠ΅ΠΊΡΠΈΠΈΡΠ΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ, Π½ΠΎΠ²Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡΠ°
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru