ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

LocalStorage, sessionStorage

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π²Π΅Π±-Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° localStorage ΠΈ sessionStorage ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Ρ‹ ΠΊΠ»ΡŽΡ‡/Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅.

Π§Ρ‚ΠΎ Π² Π½ΠΈΡ… Π²Π°ΠΆΠ½ΠΎ – Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π² Π½ΠΈΡ… записаны, ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ послС обновлСния страницы (Π² случаС sessionStorage ) ΠΈ Π΄Π°ΠΆΠ΅ послС пСрСзапуска Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° (ΠΏΡ€ΠΈ использовании localStorage ). Π‘ΠΊΠΎΡ€ΠΎ ΠΌΡ‹ это ΡƒΠ²ΠΈΠ΄ΠΈΠΌ.

Но вСдь Ρƒ нас ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ ΠΊΡƒΠΊΠΈ. Π—Π°Ρ‡Π΅ΠΌ Ρ‚ΠΎΠ³Π΄Π° эти ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹?

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° localStorage ΠΈ sessionStorage ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΈ свойства:

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.

Π”Π΅ΠΌΠΎ localStorage

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ особСнности localStorage :

НапримСр, Ссли Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ этот код…

β€¦Π˜ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ/ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ‚Ρƒ ΠΆΠ΅ страницу Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΠΎΠΊΠ½Π΅, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Нам достаточно Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π½Π° Ρ‚ΠΎΠΌ ΠΆΠ΅ источникС (Π΄ΠΎΠΌΠ΅Π½/ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»/ΠΏΠΎΡ€Ρ‚), ΠΏΡ€ΠΈ этом URL-ΠΏΡƒΡ‚ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹ΠΌ.

ΠžΠ±ΡŠΠ΅ΠΊΡ‚ localStorage доступСн всСм ΠΎΠΊΠ½Π°ΠΌ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ источника, поэтому, Ссли ΠΌΡ‹ устанавливаСм Π΄Π°Π½Π½Ρ‹Π΅ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅, измСнСния становятся Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ.

Доступ ΠΊΠ°ΠΊ ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ

Π’Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ/Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠ°ΠΊ Π² ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚:

Π­Ρ‚ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎ историчСским ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π°ΠΌ ΠΈ, ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ, Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ Π½Π΅ рСкомСндуСтся, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ:

ΠŸΠ΅Ρ€Π΅Π±ΠΎΡ€ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π²ΠΈΠ΄ΠΈΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ/ΠΏΠΈΡΠ°Ρ‚ΡŒ/ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅. А ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ всС значСния ΠΈΠ»ΠΈ ΠΊΠ»ΡŽΡ‡ΠΈ?

К соТалСнию, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π²Π΅Π±-Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° нСльзя ΠΏΠ΅Ρ€Π΅Π±Ρ€Π°Ρ‚ΡŒ Π² Ρ†ΠΈΠΊΠ»Π΅, ΠΎΠ½ΠΈ Π½Π΅ ΠΈΡ‚Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹.

Но ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠΉΡ‚ΠΈ ΠΏΠΎ Π½ΠΈΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΌ массивам:

Π—Π΄Π΅ΡΡŒ ΠΏΠ΅Ρ€Π΅Π±ΠΈΡ€Π°ΡŽΡ‚ΡΡ ΠΊΠ»ΡŽΡ‡ΠΈ, Π½ΠΎ вмСстС с этим выводятся нСсколько встроСнных ΠΏΠΎΠ»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹:

β€¦ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈΠ±ΠΎ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ поля ΠΈΠ· ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏΠ° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ hasOwnProperty :

…Либо просто ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ «собствСнныС» ΠΊΠ»ΡŽΡ‡ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Object.keys, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΡ€ΠΈ нСобходимости вывСсти ΠΈΡ… ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Ρ†ΠΈΠΊΠ»Π°:

ПослСднСС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Object.keys Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ»ΡŽΡ‡ΠΈ, ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ, игнорируя ΠΏΡ€ΠΎΡ‚ΠΎΡ‚ΠΈΠΏ.

Волько строки

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ ΠΊΠ»ΡŽΡ‡ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ строками.

Если ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ Ρ‚ΠΈΠΏ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ число ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Ρ‚ΠΎ ΠΎΠ½ автоматичСски прСобразуСтся Π² строку:

ΠœΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ JSON для хранСния ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²:

Π’Π°ΠΊΠΆΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ привСсти ΠΊ строкС вСсь ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ:

sessionStorage

Бвойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Ρ‚Π°ΠΊΠΈΠ΅ ΠΆΠ΅, Π½ΠΎ Π΅ΡΡ‚ΡŒ сущСствСнныС ограничСния:

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим Π½Π° это Π² дСйствии.

ЗапуститС этот код…

β€¦Π˜ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚Π΅ страницу. Π’Ρ‹ всё Π΅Ρ‰Ρ‘ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅:

Π’Π°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ sessionStorage привязан Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ источнику, Π½ΠΎ ΠΈ ΠΊ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ sessionStorage ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ нСчасто.

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ storage

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²ΡŒΡ‚Π΅, Ρ‡Ρ‚ΠΎ Ρƒ вас Π΅ΡΡ‚ΡŒ Π΄Π²Π° ΠΎΠΊΠ½Π° с ΠΎΠ΄Π½ΠΈΠΌ ΠΈ Ρ‚Π΅ΠΌ ΠΆΠ΅ сайтом. Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ localStorage раздСляСтся ΠΌΠ΅ΠΆΠ΄Ρƒ Π½ΠΈΠΌΠΈ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ эту страницу Π² Π΄Π²ΡƒΡ… ΠΎΠΊΠ½Π°Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ΄.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ событиС Ρ‚Π°ΠΊΠΆΠ΅ содСрТит: event.url – url-адрСс Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π΄Π°Π½Π½Ρ‹Π΅ обновились.

Π­Ρ‚ΠΎ позволяСт Ρ€Π°Π·Π½Ρ‹ΠΌ ΠΎΠΊΠ½Π°ΠΌ ΠΎΠ΄Π½ΠΎΠ³ΠΎ источника ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°Ρ‚ΡŒΡΡ сообщСниями.

Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ Broadcast channel API ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ API для связи ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠΊΠ½Π°ΠΌΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ источника, ΠΎΠ½ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ»Π½ΠΎΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΉ, Π½ΠΎ ΠΌΠ΅Π½Π΅Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΉ. Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‚ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ (ΠΏΠΎΠ»ΠΈΡ„ΠΈΠ»Ρ‹), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΌΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‚ это API Π½Π° основС localStorage ΠΈ Π΄Π΅Π»Π°ΡŽΡ‚ Π΅Π³ΠΎ доступным Π²Π΅Π·Π΄Π΅.

Π˜Ρ‚ΠΎΠ³ΠΎ

ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π²Π΅Π±-Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° localStorage ΠΈ sessionStorage ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Ρ‹ ΠΊΠ»ΡŽΡ‡/Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅.

Π—Π°Π΄Π°Ρ‡ΠΈ

АвтосохранСниС поля Ρ„ΠΎΡ€ΠΌΡ‹

Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π·Π°ΠΊΡ€ΠΎΠ΅Ρ‚ страницу ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅Ρ‚ Π΅Ρ‘ Π·Π°Π½ΠΎΠ²ΠΎ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ послСднСС Π²Π²Π΅Π΄Ρ‘Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

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

Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ Π² 2021 Π³ΠΎΠ΄Ρƒ

Π”Π°Ρ‚Π° ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΠΈ: 2021-01-26

ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

ΠžΡ‚ Π°Π²Ρ‚ΠΎΡ€Π°: Π·Π½Π°Π΅Ρ‚Π΅ Π»ΠΈ Π²Ρ‹, ΠΊΠ°ΠΊΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ Ρ€Π°ΡΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π² 2021 Π³ΠΎΠ΄Ρƒ? Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Π²Π΅Π±-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² хранСния Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. И ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ хранСния ΡƒΠ½ΠΈΠΊΠ°Π»Π΅Π½ ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ свои свойства ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅.

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

Π’Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΈ свойства Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°

Если Π²Ρ‹ Π±Π΅Π³Π»ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚Π΅ΡΡŒ с Chrome DevTools, Π²Ρ‹ смоТСтС Π½Π°ΠΉΡ‚ΠΈ Ρ‚ΠΈΠΏΡ‹ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, пСрСчислСнныС Π½ΠΈΠΆΠ΅:

ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

JavaScript. Быстрый старт

Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ основы JavaScript Π½Π° практичСском ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎ созданию Π²Π΅Π±-прилоТСния

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΡƒΠ·Π½Π°Π΅ΠΌ подробности ΠΎ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅ хранСния ΠΈ Π΅Π³ΠΎ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… свойствах.

Π›ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅

Π›ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ являСтся Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹ΠΌ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ ΠΈΠ·-Π·Π° Π΅Π³ΠΎ простоты. Оно позволяСт Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Ρ‹ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, сСриализованныС Π² Π²ΠΈΠ΄Π΅ строк. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ дСйствия Π² локальном Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅:

setItem() β€” ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

getItem() β€” ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

removeItem() β€” ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

clear() β€” ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ всС ΠΏΠ°Ρ€Ρ‹ Β«ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Β»

key() β€” ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ n-ΠΉ ΠΏΠ°Ρ€Ρ‹ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅

Π§Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ значСния Π² локальном Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ Π² Π²ΠΈΠ΄Π΅ массивов, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Ρ‚.Π΄., НСобходимо ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ значСния Π² строки с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ JSON.stringify. ΠŸΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ JSON.parse восстанавливаСт элСмСнт ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π² JSON.

ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

Π›ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ совмСстно ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ всСми Π²ΠΊΠ»Π°Π΄ΠΊΠ°ΠΌΠΈ ΠΈ ΠΎΠΊΠ½Π°ΠΌΠΈ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ источника.

Π‘Ρ€ΠΎΠΊ дСйствия Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ истСкаСт.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° событий Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°.

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° β€” это функция, поддСрТиваСмая Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ ΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ сСансов, ΠΈ запускаСт ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°Ρ‚Π΅Π»ΠΈ событий Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²ΠΊΠ»Π°Π΄ΠΊΠ°Ρ… (Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ, которая Π΅Π³ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠΈΡ€ΠΎΠ²Π°Π»Π°) ΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ iFrames.

Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ рассмотрим события Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°.

ΠŸΡ€Π΅Π΄Π΅Π» Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° составляСт 5 Мб Π² Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ… (ΠΌΠΎΠΆΠ½ΠΎ бСзопасно ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ этот ΠΏΡ€Π΅Π΄Π΅Π»).

БСссионноС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅

Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ сСансов ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° локальноС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, с Ρ‚ΠΎΠΉ лишь Ρ€Π°Π·Π½ΠΈΡ†Π΅ΠΉ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ сСанса хранятся Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° Π²Ρ‹ Π½Π΅ Π·Π°ΠΊΡ€ΠΎΠ΅Ρ‚Π΅ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°.

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ сСансов привязано ΠΊ источнику прилоТСния, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΊ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°.
МнС Π±Ρ‹Π»ΠΎ Π»ΡŽΠ±ΠΎΠΏΡ‹Ρ‚Π½ΠΎ ΡƒΠ·Π½Π°Ρ‚ΡŒ, ΠΊΠ°ΠΊ события Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ сСансов. Π”Π°ΠΆΠ΅ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ событий Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° изоляция Π²ΠΊΠ»Π°Π΄ΠΎΠΊ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° всС Π΅Ρ‰Π΅ сущСствуСт.

Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π² сСссионном Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ событиС хранСния доступно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² iFrames Π½Π° ΠΎΠ΄Π½ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π² локальноС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, Ρ‚Π°ΠΊ ΠΈ Π² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ сСансов, доступ являСтся синхронным, ΠΈ ваш ΠΊΠΎΠ΄ JavaScript Π±ΡƒΠ΄Π΅Ρ‚ ΠΆΠ΄Π°Ρ‚ΡŒ, ΠΏΠΎΠΊΠ° ΠΎΠ½ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΡ€ΠΈ доступС ΠΊ этим Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°ΠΌ.

IndexedDB

IndexedDB Π±Π»ΠΈΠΆΠ΅ ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… NoSQL ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с рассмотрСнными Π½Π°ΠΌΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°ΠΌΠΈ. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ IndexedDb, Ссли ΠΈΠΌΠ΅Π΅Ρ‚Π΅ Π΄Π΅Π»ΠΎ со слоТными ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ JavaScript, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ ΡΠ΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ.
IndexedDB Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ΠΈ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π²Π΅Π±-Π²ΠΎΡ€ΠΊΠ΅Ρ€Π°ΠΌΠΈ.

НапримСр, Twitter ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ IndexedDB с трСмя Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌΠΈ для сохранСния Π΄Π°Π½Π½Ρ‹Ρ…. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π°ΠΉΡ‚ΠΈ послСдниС поисковыС запросы Π² массивС для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ удобства использования.

ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

ΠœΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π»ΡŽΠ±Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΠ° JavaScript, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (большой Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Ρ„Π°ΠΉΠ») ΠΈΠ»ΠΈ массив ΠΈ Ρ‚.Π΄., Π’ Π²ΠΈΠ΄Π΅ ΠΏΠ°Ρ€ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.

ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

JavaScript. Быстрый старт

Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ основы JavaScript Π½Π° практичСском ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎ созданию Π²Π΅Π±-прилоТСния

API-интСрфСйсы IndexedDB асинхронны, поэтому ΠΏΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ запроса ΠΎΠ½ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ Π²Ρ‹Π·ΠΎΠ².

ΠœΠΎΠΆΠ΅Ρ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ структурированныС Π΄Π°Π½Π½Ρ‹Π΅, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ Π΄Π°Π½Π½Ρ‹Π΅ калСндаря.

Web SQL (устарСло)

НСдавно W3C объявил, Ρ‡Ρ‚ΠΎ спСцификации WebSQL устарСли. Π’ качСствС Π°Π»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹ W3C ΠΏΡ€Π΅Π΄Π»Π°Π³Π°Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ ΡΡ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ indexedDB вмСсто использования Π²Π΅Π±-SQL.

Web SQL β€” это Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ спСцификациям SQLite. Π­Ρ‚ΠΎΡ‚ API поддСрТиваСтся Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ Google Chrome, Opera ΠΈ Android (ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: Firefox Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Web SQL).

Π’ Web SQL Π΅ΡΡ‚ΡŒ Ρ‚Ρ€ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°:

openDatabase () β€” Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ»ΠΈ создаСт Π½ΠΎΠ²ΡƒΡŽ Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ….

transaction () β€” ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ (фиксируСт ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ°Ρ‚Ρ‹Π²Π°Π΅Ρ‚).

executeSql () β€” ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ настоящий SQL-запрос.

ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² хранСния, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ SQL-запросы для взаимодСйствия с Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ….

Для любого, ΠΊΡ‚ΠΎ Π·Π½Π°ΠΊΠΎΠΌ с SQLite, кривая обучСния минимальна ΠΈΠ»ΠΈ отсутствуСт.

Π€Π°ΠΉΠ»Ρ‹ cookie

Π€Π°ΠΉΠ»Ρ‹ cookie β€” это СдинствСнный Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ впс» target=»_blank»>сСрвСром. Π•ΡΡ‚ΡŒ Π΄Π²Π° Ρ‚ΠΈΠΏΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² cookie:

Π‘Π΅Ρ€Π²Π΅Ρ€Π½Ρ‹ΠΉ cookie (HTTP Only Cookie) β€” пСрСмСнная, устанавливаСмая впс» target=»_blank»>сСрвСром ΠΈ хранящаяся Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для хранСния состояния прилоТСния. НСдоступно для JavaScript.

ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ cookie β€” ΠΏΠΎΡ…ΠΎΠΆΠΈ Π½Π° Ρ„Π°ΠΉΠ»Ρ‹ cookie Π½Π° сторонС впс» target=»_blank»>сСрвСра, Π½ΠΎ доступны с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ JavaScript.

Π”Π°Π²Π°ΠΉΡ‚Π΅ посмотрим, ΠΊΠ°ΠΊ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ клиСнтскому cookie.

Однако Π²Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ„Π°ΠΉΠ»Ρ‹ cookie ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΈΠ· Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π½Π° впс» target=»_blank»>сСрвСр для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ запроса. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ Π΄Π΅Π»Π°ΠΉΡ‚Π΅ ΠΈΡ… ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ мСньшС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ Π½Π°ΠΊΠ»Π°Π΄Π½Ρ‹Π΅ расходы.

Π­Ρ„Ρ„Π΅ΠΊΡ‚ΠΈΠ²Π½ΠΎ ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ сСансов, свСдСний ΠΎ страницах, ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² Π²Π΅Π±-страниц.

Π€Π°ΠΉΠ»Ρ‹ cookie ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ Π΄ΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΡ€, ΠΏΠΎΠΊΠ° ΠΎΠ½ΠΈ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‡ΠΈΡ‰Π΅Π½Ρ‹.

ΠœΠΎΠΆΠ΅Ρ‚ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ пСрсонализированным ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ ΠΈ ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² соотвСтствии с прСдпочтСниями ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ пСрСкрСстноС происхоТдСниС с подстановочными Π·Π½Π°ΠΊΠ°ΠΌΠΈ.

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

ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

Π’Π°Π±Π»ΠΈΡ†Π° сравнСния Ρ‚ΠΈΠΏΠΎΠ² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰

Π‘ Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния бСзопасности эти Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ хранСния Π½Π΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ для хранСния ΠΊΠΎΠ½Ρ„ΠΈΠ΄Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…. Но растСт тСндСнция ΠΊ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΡŽ Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ (Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠ² OpenID) Π² локальном Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΠΌ популярными Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΌΠΈ JavaScript, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ для ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ. Однако для Cookie Π΅ΡΡ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π² Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π° сСанса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½ для Π΅Π³ΠΎ хранСния.

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π²Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ частный просмотр (ΠΈΠ½ΠΊΠΎΠ³Π½ΠΈΡ‚ΠΎ) Π² Safari Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π²Π°ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Ρƒ ΠΈΠ»ΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Ρƒ сСансов. Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Ссли Π²Ρ‹ ΡΠΎΠ±ΠΈΡ€Π°Π΅Ρ‚Π΅ΡΡŒ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эти Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ хранСния, Π²Π°ΠΆΠ½ΠΎ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ условия ошибки ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ сообщСния.

ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² хранСния, Ссли трСбуСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ простыС ΠΏΠ°Ρ€Ρ‹ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π»ΡƒΡ‡ΡˆΠΈΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ локальноС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. Если Π²Ρ‹ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΠ΅Ρ‚Π΅ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠΈΡ‚ΡŒ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Session Storage. И ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅ ΠΎΠ± ограничСниях Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ эти Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°.

И для Π»ΡŽΠ±Ρ‹Ρ… Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… Ρ‚Ρ€Π΅Π±ΠΎΠ²Π°Π½ΠΈΠΉ ΠΊ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Ρƒ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ IndexedDB, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π»ΡƒΡ‡ΡˆΠ΅ всСго ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Π² качСствС Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ для Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, для Ρ„ΠΎΠ½ΠΎΠ²ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ с Π²Π΅Π±-Π²ΠΎΡ€ΠΊΠ΅Ρ€Π°ΠΌΠΈ это идСальноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π΅ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ транзакциями.

НадСюсь, ΡΡ‚Π°Ρ‚ΡŒΡ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π½Π° для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΊΡ€ΡƒΠ³ΠΎΠ·ΠΎΡ€Π° ΠΏΠΎ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΡŽ Π΄Π°Π½Π½Ρ‹Ρ… Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅. Бпасибо Π·Π° ΠΏΡ€ΠΎΡ‡Ρ‚Π΅Π½ΠΈΠ΅!

Автор: Charuka E Bandara

РСдакция: Команда webformyself.

ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

JavaScript. Быстрый старт

Π˜Π·ΡƒΡ‡ΠΈΡ‚Π΅ основы JavaScript Π½Π° практичСском ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΏΠΎ созданию Π²Π΅Π±-прилоТСния

ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

Full-Stack ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΠ°. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ JavaScript Π±Π»ΠΎΠ³Π°

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π²Π΅Π±-прилоТСния с нуля Π½Π° JavaScript, NodeJS, ExpressJS

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

Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ JS: систСмы хранСния Π΄Π°Π½Π½Ρ‹Ρ…

ΠŸΡ€ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Π²Π΅Π±-прилоТСния Ρ‡Ρ€Π΅Π·Π²Ρ‹Ρ‡Π°ΠΉΠ½ΠΎ Π²Π°ΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ подходящиС срСдства для локального хранСния Π΄Π°Π½Π½Ρ‹Ρ…. Π Π΅Ρ‡ΡŒ ΠΈΠ΄Ρ‘Ρ‚ ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΏΠΎΡΠΎΠ±ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ сниТСнию ΠΎΠ±ΡŠΡ‘ΠΌΠ° Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Ρ… ΠΌΠ΅ΠΆΠ΄Ρƒ впс» target=»_blank»>сСрвСрной ΠΈ клиСнтской частями прилоТСния, ΠΈ ΠΏΡ€ΠΈ этом Π½Π΅ ΡƒΡ…ΡƒΠ΄ΡˆΠΈΡ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Ρ€Π΅Π°ΠΊΡ†ΠΈΠΈ прилоТСния Π½Π° воздСйствия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π₯ΠΎΡ€ΠΎΡˆΠΎ продуманная стратСгия локального ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π΄Π°Π½Π½Ρ‹Ρ… являСтся Ρ†Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π²Π΅Π½ΠΎΠΌ Π² Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π±Π΅Π· ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ. Π‘ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ всё Ρ‡Π°Ρ‰Π΅ ΠΈ Ρ‡Π°Ρ‰Π΅ относятся ΠΊ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹ΠΌ возмоТностям ΠΊΠ°ΠΊ ΠΊ Ρ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Ρ‹Ρ‡Π½ΠΎΠΌΡƒ ΠΈ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠΌΡƒ.

ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

БСгодня, Π² ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π΅ 16 части сСрии ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΎΠ², посвящённых всСму, Ρ‡Ρ‚ΠΎ связано с JavaScript, ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°Ρ… хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, ΠΈ ΠΎ Π²Ρ‹Π±ΠΎΡ€Π΅ систСмы хранСния Π΄Π°Π½Π½Ρ‹Ρ… для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°.

МодСль Π΄Π°Π½Π½Ρ‹Ρ…

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

ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠΈ постоянного хранСния Π΄Π°Π½Π½Ρ‹Ρ…, доступных Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ

ΠœΠ΅Ρ‚ΠΎΠ΄Ρ‹ хранСния Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² Π²Π΅Π±-прилоТСниях, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ с Ρ‚ΠΎΡ‡ΠΊΠΈ зрСния Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ постоянного хранСния Ρ‚Π°ΠΊΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ….

ΠžΡ†Π΅Π½ΠΊΠ° систСм хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°

Π’ наши Π΄Π½ΠΈ сущСствуСт Π½Π΅ΠΌΠ°Π»ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½Ρ‹Ρ… API, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ…. ΠœΡ‹ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· Π½ΠΈΡ… ΠΈ сравним ΠΈΡ… для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠΏΡ€ΠΎΡΡ‚ΠΈΡ‚ΡŒ Π²Π°ΠΌ Π²Ρ‹Π±ΠΎΡ€ подходящСго API.

Для Π½Π°Ρ‡Π°Π»Π°, ΠΎΠ΄Π½Π°ΠΊΠΎ, остановимся Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΎΠ±Ρ‰ΠΈΡ… вопросах, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ стоит ΠΏΡ€ΠΈΠ½ΡΡ‚ΡŒ ΠΊ свСдСнию ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ для хранСния Π΄Π°Π½Π½Ρ‹Ρ…. ΠšΠΎΠ½Π΅Ρ‡Π½ΠΎ, Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ Ρ‚ΠΎ, ΠΊΠ°ΠΊ вашС ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Π½Π° Π΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°, ΠΊΠ°ΠΊ планируСтся Π΅Π³ΠΎ Ρ€Π°Π·Π²ΠΈΠ²Π°Ρ‚ΡŒ. ΠŸΡ€ΠΈ этом, Ссли Π΄Π°ΠΆΠ΅ Ρƒ вас Π΅ΡΡ‚ΡŒ Ρ‡Ρ‘Ρ‚ΠΊΠΈΠ΅ ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π½Π° эти вопросы, Π²Ρ‹, Π² ΠΈΡ‚ΠΎΠ³Π΅, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹ΠΉΡ‚ΠΈ Π½Π° нСсколько Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² систСм хранСния Π΄Π°Π½Π½Ρ‹Ρ…, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ подходящий. Π’ΠΎΡ‚ Π½Π° Ρ‡Ρ‚ΠΎ стоит ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, выбирая систСму хранСния Π΄Π°Π½Π½Ρ‹Ρ…:

Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ систСм хранСния Π΄Π°Π½Π½Ρ‹Ρ…

Π’ этом Ρ€Π°Π·Π΄Π΅Π»Π΅ ΠΌΡ‹ рассмотрим Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠ· ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… систСм хранСния Π΄Π°Π½Π½Ρ‹Ρ…, доступных Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ, ΠΈ сравним ΠΈΡ… ΠΏΠΎ описанным Π²Ρ‹ΡˆΠ΅ показатСлям.

APIМодСль Π΄Π°Π½Π½Ρ‹Ρ…ΠœΠ΅Ρ‚ΠΎΠ΄ΠΈΠΊΠ° Ρ…Ρ€Π°Π½Π΅Π½ΠΈΡΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉΠ‘ΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½ΠΎΠ΅ ΠΈΠ»ΠΈ асинхронноС
FileSystemΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ байтовУстройство52%НСтАсинхронноС
LocalStorageΠšΠ»ΡŽΡ‡/значСниСУстройство93%НСтБинхронноС
SessionStorageΠšΠ»ΡŽΡ‡/значСниСБСссия93%НСтБинхронноС
CookieΠ‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ данныСУстройство100%НСтБинхронноС
CacheΠšΠ»ΡŽΡ‡/значСниСУстройство60%НСтАсинхронноС
IndexedDBГибридная ΠΌΠΎΠ΄Π΅Π»ΡŒΠ£ΡΡ‚Ρ€ΠΎΠΉΡΡ‚Π²ΠΎ83%ДаАсинхронноС

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ ΠΎΠ± этих способах хранСния Π΄Π°Π½Π½Ρ‹Ρ….

API FileSystem

ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

Благодаря использованию API FileSystem Π²Π΅Π±-прилоТСния ΠΌΠΎΠ³ΡƒΡ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ локальной Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΎΡΠΌΠ°Ρ‚Ρ€ΠΈΠ²Π°Ρ‚ΡŒ содСрТимоС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°, ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ чтСния ΠΈ записи.

Π­Ρ‚ΠΎ API состоит ΠΈΠ· ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… основных частСй:

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ filesystem этого API ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для прСдставлСния Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы. Доступ ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· свойство filesystem. НСкоторыС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ ΠΏΡ€Π΅Π΄Π»Π°Π³Π°ΡŽΡ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ API для создания Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСм ΠΈ управлСния ΠΈΠΌΠΈ.

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

Π’Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ доступ ΠΊ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС, Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠ² Π²Ρ‹Π·ΠΎΠ² window.requestFileSystem() :

Если Π²Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚Π΅ requestFileSystem() Π² ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π·, Ρ‚ΠΎ для вашСго прилоТСния Π±ΡƒΠ΄Π΅Ρ‚ создано Π½ΠΎΠ²ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. Π’Π°ΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ это β€” ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ, ΠΎΠ΄Π½ΠΎ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ, созданным Π΄Ρ€ΡƒΠ³ΠΈΠΌ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.

ПослС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π²Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚Π΅ доступ ΠΊ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмС, Π²Ρ‹ смоТСтС Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ стандартных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΈ дирСкториями.

API FileSystem ΡΠ΅Ρ€ΡŒΡ‘Π·Π½ΠΎ отличаСтся ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… систСм, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π²Π΅Π±-прилоТСниями, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ΠΎ Π½Π°Ρ†Π΅Π»Π΅Π½ΠΎ Π½Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ Ρ…ΠΎΡ€ΠΎΡˆΠΎ Ρ€Π΅ΡˆΠ°ΡŽΡ‚ΡΡ срСдствами Π±Π°Π· Π΄Π°Π½Π½Ρ‹Ρ…. Π’ Ρ†Π΅Π»ΠΎΠΌ, это β€” прилоТСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ с большими Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Π»ΠΈΠ±ΠΎ ΠΎΠ±ΠΌΠ΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ с внСшними ΠΏΠΎ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡŽ ΠΊ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ прилоТСниями.

Π‘Ρ€Π΅Π΄ΠΈ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² использования API FileSystem ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅:

ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° API FileSystem Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ

API LocalStorage

ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

API LocalStorage, ΠΈΠ»ΠΈ локальноС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, позволяСт Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Storage ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Document с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΠ° ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ источника. Π”Π°Π½Π½Ρ‹Π΅ Π½Π΅ Ρ‚Π΅Ρ€ΡΡŽΡ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ сСссиями. API LocalStorage ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° API SessionStorage, сСссионноС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, Ρ€Π°Π·Π½ΠΈΡ†Π° Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ Π² сСссионном Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ сСссия страницы Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡΡ, Π° Π΄Π°Π½Π½Ρ‹Π΅ Π² локальном Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ хранятся постоянно.

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅, Ρ€Π°Π·ΠΌΠ΅Ρ‰Ρ‘Π½Π½Ρ‹Π΅ Π² локальном ΠΈΠ»ΠΈ Π² сСссионном Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ привязаны ΠΊ источнику страницы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ опрСдСляСтся ΠΊΠΎΠΌΠ±ΠΈΠ½Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°, хоста ΠΈ ΠΏΠΎΡ€Ρ‚Π°.
Π’ΠΎΡ‚ свСдСния ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ API LocalStorage Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ.

ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° API LocalStorage Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ

API SessionStorage

Π’ΠΎΡ‚ свСдСния ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ API SessionStorage Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ:

ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° API SessionStorage Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ

API Cookie

ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

Cookie (ΠΊΡƒΠΊΠΈ, Π²Π΅Π±-ΠΊΡƒΠΊΠΈ, Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½Ρ‹Π΅ ΠΊΡƒΠΊΠΈ) β€” это нСбольшиС Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ впс» target=»_blank»>сСрвСр отправляСт Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρƒ. Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΡ… ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ впс» target=»_blank»>сСрвСру, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΈΡ… ΠΏΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ запросов ΠΊ Π½Π΅ΠΌΡƒ. ΠžΠ±Ρ‹Ρ‡Π½ΠΎ ΠΎΠ½ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ экзСмпляра Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, ΠΎΡ‚ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‚ запросы. НапримСр β€” для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, послС Π²Ρ…ΠΎΠ΄Π° Π² систСму, оставался Π±Ρ‹ Π² Π½Π΅ΠΉ. ΠšΡƒΠΊΠΈ β€” это Π½Π΅Ρ‡Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ систСмы хранСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ состоянии сСанса связи для ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° HTTP, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ рассматриваСт ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ запрос, Π΄Π°ΠΆΠ΅ приходящий ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, ΠΊΠ°ΠΊ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎ нСзависимый ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ….

ΠšΡƒΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Ρ‚Ρ€Ρ‘Ρ… основных Π·Π°Π΄Π°Ρ‡:

БущСствуСт Π΄Π²Π° Π²ΠΈΠ΄Π° ΠΊΡƒΠΊΠΈ:

Если Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ΡŒ ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ ΠΊΡƒΠΊΠΈ, Ρ‚ΠΎ ΠΈΡ…, ΠΊΠ°ΠΊ Π²Ρ‹, вСроятно, ΡƒΠΆΠ΅ поняли, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ всС Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹.

API Cache

ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ отвСтствСнСн Π·Π° ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π΅ΡΠΊΡƒΡŽ очистку кэша. Π£ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° имССтся Тёстко Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·ΠΌΠ΅Ρ€ кэша, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ выдСляСтся ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ источнику. Π£Π·Π½Π°Ρ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠ²ΠΎΡ‚Ρ‹ ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ, воспользовавшись API StorageEstimate.

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

Π˜Π½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ CacheStorage прСдставляСт Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Cache. Π’ΠΎΡ‚ Π·Π°Π΄Π°Ρ‡ΠΈ, Π·Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ этот интСрфСйс:

ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ CacheStorage ΠΌΠΎΠΆΠ½ΠΎ Ρ‡Π΅Ρ€Π΅Π· глобальноС свойство caches.

API IndexedDB

ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

API IndexedDB β€” это Π‘Π£Π‘Π”, которая позволяСт Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ срСдствами Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π’Π°ΠΊ ΠΊΠ°ΠΊ это позволяСт ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π²Π΅Π±-прилоТСния, ΠΎΠ±Π»Π°Π΄Π°ΡŽΡ‰ΠΈΠ΅ возмоТностями Ρ€Π°Π±ΠΎΡ‚Ρ‹ со слоТными Π½Π°Π±ΠΎΡ€Π°ΠΌΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Π΄Π°ΠΆΠ΅ Π±Π΅Π· ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Ρƒ, Ρ‚Π°ΠΊΠΈΠ΅ прилоТСния ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Ρ…ΠΎΡ€ΠΎΡˆΠΎ сСбя Ρ‡ΡƒΠ²ΡΡ‚Π²ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ соСдинСния с впс» target=»_blank»>сСрвСром, ΠΈ Π±Π΅Π· Π½Π΅Π³ΠΎ. IndexedDB Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π² прилоТСниях, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½ΡƒΠΆΠ½ΠΎ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ большиС ΠΎΠ±ΡŠΡ‘ΠΌΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‡Π΅ΠΌ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Ρ„ΠΈΠ»ΡŒΠΌΠΎΠ² Π½Π΅ΠΊΠΎΠ΅ΠΉ слуТбы, Π²Ρ‹Π΄Π°ΡŽΡ‰Π΅ΠΉ ΠΈΡ… Π½Π°ΠΏΡ€ΠΎΠΊΠ°Ρ‚), ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π½Π΅ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Ρ‚ΡŒ постоянноС соСдинСниС с ΡΠ΅Ρ‚ΡŒΡŽ для Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ β€” это ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Ρ‹, ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Ρ‹ Π·Π°Π΄Π°Ρ‡, записныС ΠΊΠ½ΠΈΠΆΠΊΠΈ, ΠΈ Ρ‚Π°ΠΊ Π΄Π°Π»Π΅Π΅).

Π—Π΄Π΅ΡΡŒ ΠΌΡ‹ ΡƒΠ΄Π΅Π»ΠΈΠΌ IndexedDB Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ большС внимания, Ρ‡Π΅ΠΌ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ тСхнологиям хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ, с ΠΎΠ΄Π½ΠΎΠΉ стороны, Π΄Ρ€ΡƒΠ³ΠΈΠ΅ API извСстны Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎ, Π° с Π΄Ρ€ΡƒΠ³ΠΎΠΉ β€” Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Π‘Π£Π‘Π” IndexedDB становится всё Π±ΠΎΠ»Π΅Π΅ популярной ΠΈΠ·-Π·Π° постоянного роста слоТности Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

▍ВнутрСнниС ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ IndexedDB

API IndexedDB позволяСт ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ Π² Π±Π°Π·Ρƒ ΠΈ Ρ‡ΠΈΡ‚Π°Ρ‚ΡŒ ΠΈΠ· Π½Π΅Ρ‘ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с использованиСм Β«ΠΊΠ»ΡŽΡ‡Π°Β». ВсС измСнСния, вносимыС Π² Π±Π°Π·Ρƒ Π΄Π°Π½Π½Ρ‹Ρ…, происходят Π² транзакциях. Как ΠΈ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ, IndexedDB слСдуСт ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ источника. Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ, относящимся ΠΊ собствСнному Π΄ΠΎΠΌΠ΅Π½Ρƒ, Π½ΠΎ Π½Π΅ ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… Π΄ΠΎΠΌΠ΅Π½ΠΎΠ².

IndexedDB β€” это асинхронноС API, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ контСкстов, Π² Ρ‚ΠΎΠΌ числС β€” Π² Π²Π΅Π±-Π²ΠΎΡ€ΠΊΠ΅Ρ€Π°Ρ…. РаньшС сущСствовала ΠΈ синхронная вСрсия этого API, прСдназначСнная для Π²Π΅Π±-Π²ΠΎΡ€ΠΊΠ΅Ρ€ΠΎΠ², Π½ΠΎ Π΅Ρ‘ ΡƒΠ±Ρ€Π°Π»ΠΈ ΠΈΠ· спСцификации ΠΈΠ·-Π·Π° Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π±Ρ‹Π»Π° Π½Π΅ особСнно интСрСсна Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ°ΠΌ.

Π£ IndexedDB Π±Ρ‹Π» ΠΊΠΎΠ½ΠΊΡƒΡ€Π΅Π½Ρ‚ Π² Π»ΠΈΡ†Π΅ Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… WebSQL, Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π° Π½Π°Π΄ этим стандартом Π±Ρ‹Π»Π° ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° W3C ΠΌΠ½ΠΎΠ³ΠΎ Π»Π΅Ρ‚ Π½Π°Π·Π°Π΄. Π’ Ρ‚ΠΎ врСмя, ΠΊΠ°ΠΊ ΠΈ IndexedDB ΠΈ WebSQL ΡΠ²Π»ΡΡŽΡ‚ΡΡ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΌΠΈ для хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅, ΠΈΡ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» различаСтся. WebSQL β€” это рСляционная Π‘Π£Π‘Π”, Π° IndexedDB β€” это систСма, основанная Π½Π° индСксированных Ρ‚Π°Π±Π»ΠΈΡ†Π°Ρ….

НС стоит ΠΏΡ€ΠΈΡΡ‚ΡƒΠΏΠ°Ρ‚ΡŒ ΠΊ Ρ€Π°Π±ΠΎΡ‚Π΅ с IndexedDB, ΠΎΡΠ½ΠΎΠ²Ρ‹Π²Π°ΡΡΡŒ Π½Π° идСях, вынСсСнных ΠΈΠ· ΠΎΠΏΡ‹Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄Ρ€ΡƒΠ³ΠΈΠΌΠΈ Π‘Π£Π‘Π”. ВмСсто этого ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π½ΠΈΠΌΠ°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡ‚ΡŒΡΡ с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠ΅ΠΉ ΠΏΠΎ этой Π±Π°Π·Π΅ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ с Π½Π΅ΠΉ Ρ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½Π° рассчитана. Π’ΠΎΡ‚ ΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉ ΠΎΠ±Π·ΠΎΡ€ основных ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΉ IndexedDB:

β–ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΡ IndexedDB

БистСма IndexedDB Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π° Π² расчётС Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π΅Ρ‘ возмоТностСй Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ…Π²Π°Ρ‚ΠΈΡ‚ΡŒ для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π° Π·Π°Π΄Π°Ρ‡ хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. ΠŸΠΎΠ½ΡΡ‚Π½ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π½Π΅ являСтся ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠΉ систСмой, подходящСй для Π»ΡŽΠ±Ρ‹Ρ… сцСнариСв использования. Π’ΠΎΡ‚ нСсколько ситуаций, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΠ½Π° Π½Π΅ рассчитана:

Π’ΠΎΡ‚ свСдСния ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ IndexedDB Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ….

ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Ρ„ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π‘ΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΡƒ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. ΠšΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΏΡ€ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π€ΠΎΡ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅ ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΠ΅ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±ΡƒΠ΄ΡƒΡ‚ Ρ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π°ΠΆΠ΅ послС закрытия Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°

ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° IndexedDB Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°ΠΌΠΈ

Π’Ρ‹Π±ΠΎΡ€ систСмы хранСния Π΄Π°Π½Π½Ρ‹Ρ…

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

Π˜Ρ‚ΠΎΠ³ΠΈ

Автор этого ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π° Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚, Ρ‡Ρ‚ΠΎ Π² ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΈ SessionStack ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ API для хранСния Π΄Π°Π½Π½Ρ‹Ρ…. НапримСр, Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°, интСгрируСмая Π² Π²Π΅Π±-прилоТСния для сбора Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ± ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΡƒΠΊΠΈ ΠΈ сСссионноС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅. ΠŸΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΎ для воспроизвСдСния Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ происходило Π½Π° страницС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΊΡƒΠΊΠΈ-Ρ„Π°ΠΉΠ»Ρ‹ для Ρ†Π΅Π»Π΅ΠΉ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.

Π£Π²Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ Ρ‡ΠΈΡ‚Π°Ρ‚Π΅Π»ΠΈ! Какими тСхнологиями хранСния Π΄Π°Π½Π½Ρ‹Ρ… Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π²Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ΡΡŒ Π² своих Π²Π΅Π±-прилоТСниях?

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

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

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