рд╡реЗрдм рднрдВрдбрд╛рд░рдг



рд╢реБрдн рджрд┐рди, рджреЛрд╕реНрддреЛрдВред

рдореИрдВ рдЖрдкрдХреЗ рд▓рд┐рдП рдкреАрдЯ рд▓реЗрдЬ рджреНрд╡рд╛рд░рд╛ рд▓реЗрдЦ "рд╡реЗрдм рдХреЗ рд▓рд┐рдП рднрдВрдбрд╛рд░рдг" рдХрд╛ рдЕрдиреБрд╡рд╛рдж рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реВрдВ ред

рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдИ рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпрд╛рдБ рд╣реИрдВред рдЗрдирдореЗ рд╕реЗ рдХреМрди рдмреЗрд╣рддрд░ рд╣реИ?

рдПрдХ рдЗрдВрдЯрд░рдиреЗрдЯ рдХрдиреЗрдХреНрд╢рди рдЦрд░рд╛рдм рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдпрд╛ рдХреБрдЫ рдЬрдЧрд╣реЛрдВ рдкрд░ рдЕрдиреБрдкрд╕реНрдерд┐рдд рднреА рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдСрдлрд╝рд▓рд╛рдЗрди рд╕рдорд░реНрдерди рдкреНрд░рдЧрддрд┐рд╢реАрд▓ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреА рдкреНрд░рдореБрдЦ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ ред рд╣рд╛рдИ-рд╕реНрдкреАрдб рдХрдиреЗрдХреНрд╢рди рдХреЗ рд╕рд╛рде, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╢рд┐рдВрдЧ рдФрд░ рдЕрдиреНрдп рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдордЭрджрд╛рд░реА рд╣реИред рдлрд╝рд╛рдЗрд▓реЗрдВ (HTML, JavaScript, CSS, рдЪрд┐рддреНрд░ рдЖрджрд┐) рдФрд░ рдбреЗрдЯрд╛ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛, рд╕рдорд╛рдЪрд╛рд░ рд▓реЗрдЦ рдЖрджрд┐) рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреЗ рдХрдИ рддрд░реАрдХреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдХреМрди рд╕рд╛ рд╕рдорд╛рдзрд╛рди рдЪреБрдирдирд╛ рдмреЗрд╣рддрд░ рд╣реИ? рдФрд░ рдЗрд╕рдХреЗ рд╕реНрдерд╛рдпрд┐рддреНрд╡ рдХреЛ рдХреИрд╕реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ?

рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ?


рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд▓рд╛рд╣ рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ:


IndexedDB рдФрд░ Cache API рд╕рднреА рдЖрдзреБрдирд┐рдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред рд╡реЗ рдЕрддреБрд▓реНрдпрдХрд╛рд▓рд┐рдХ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН рдореБрдЦреНрдп рдереНрд░реЗрдб (рдХреЛрдб рдирд┐рд╖реНрдкрд╛рджрди) рдХреЛ рдмреНрд▓реЙрдХ рди рдХрд░реЗрдВред рд╡реЗ рд╡рд┐рдВрдбреЛ рдСрдмреНрдЬреЗрдХреНрдЯ, рд╡реЗрдм рд╡рд░реНрдХрд░реНрд╕ рдФрд░ рд╕рд░реНрд╡рд┐рд╕ рд╡рд░реНрдХрд░реНрд╕ рдкрд░ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рд░ рдЬрдЧрд╣ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдЕрдиреНрдп рддрдВрддреНрд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?


рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЕрдиреНрдп рдбреЗрдЯрд╛ рднрдВрдбрд╛рд░рдг рддрдВрддреНрд░ рднреА рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЙрдирдХреА рдХреБрдЫ рд╕реАрдорд╛рдПрдБ рд╣реИрдВ рдФрд░ рдкреНрд░рджрд░реНрд╢рди рд╕рдорд╕реНрдпрд╛рдПрдВ рдкреИрджрд╛ рдХрд░ рд╕рдХрддреА рд╣реИрдВред


?


рдХрдо рд╕реЗ рдХрдо рдХреБрдЫ рд╕реМ рдореЗрдЧрд╛рдмрд╛рдЗрдЯ, рд╕рдВрднрд╡рддрдГ рд╕реИрдХрдбрд╝реЛрдВ рдЧреАрдЧрд╛рдмрд╛рдЗрдЯред рдпрд╣ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рднрдВрдбрд╛рд░рдг рдХреА рдорд╛рддреНрд░рд╛ рдЖрдорддреМрд░ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдбрд┐рд╡рд╛рдЗрд╕ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рдореЗрдореЛрд░реА рдХреА рдорд╛рддреНрд░рд╛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реЛрддреА рд╣реИред

  • Chrome рдЖрдкрдХреЛ 60% рдбрд┐рд╕реНрдХ рд╕реНрдерд╛рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЖрдк рд╕реАрдорд╛ (рдХреЛрдЯрд╛) рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП StorageManager API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  • рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░ 10 рдФрд░ рдмрд╛рдж рдореЗрдВ 250 рдПрдордмреА рддрдХ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдХрд░ рд╕рдХрддрд╛ рд╣реИред
  • рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдЖрдкрдХреЛ 2 рдЬреАрдмреА рддрдХ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЖрдк рд╕реАрдорд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП StorageManager API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
  • рд╕рдлрд╛рд░реА (рдбреЗрд╕реНрдХрдЯреЙрдк рдФрд░ рдореЛрдмрд╛рдЗрд▓ рджреЛрдиреЛрдВ) рдЖрдкрдХреЛ 1 рдЬреАрдмреА рддрдХ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╕реАрдорд╛ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдкрд░, рд╕рдлрд╛рд░реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ 200 рдПрдордмреА рд╕реЗ рдХреЛрдЯрд╛ рдмрдврд╝рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд╛рдВрдЧрддрд╛ рд╣реИред

рдЕрддреАрдд рдореЗрдВ, рдЬрдм рднрдВрдбрд╛рд░рдг рд╕реАрдорд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдИ рдереА, рддреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдиреЗ рд╕реНрдореГрддрд┐ рдХреА рдорд╛рддреНрд░рд╛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреА рдЕрдиреБрдорддрд┐ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдерд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм 50 рдПрдордмреА рдХреА рд╕реАрдорд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдиреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдХреЛрдЯрд╛ 100 рдПрдордмреА рддрдХ рдмрдврд╝рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд╛рдВрдЧреА, рдФрд░ рдЗрд╕рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ 50 рдПрдордмреАред

рдЖрдЬ, рдЕрдзрд┐рдХрд╛рдВрд╢ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдХреЛрдЯрд╛ рдХреЗ рднреАрддрд░ рднрдВрдбрд╛рд░рдг рдХреА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╡реГрджреНрдзрд┐ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдЕрдкрд╡рд╛рдж рд╕рдлрд╛рд░реА рд╣реИ, рдЬреЛ 750 рдПрдордмреА рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдкрд░, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ 1.1 рдЬреАрдмреА рдХреА рд╕реАрдорд╛ рдмрдврд╝рд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд╛рдВрдЧрддрд╛ рд╣реИред рдХреЛрдЯрд╛ рдХреЛ рдкрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рд╡рд┐рдлрд▓рддрд╛ рдореЗрдВ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рдПрдЧрд╛ред

рд╕реАрдорд╛ рдХреЗ рд╕рдВрддреБрд▓рди рдХреА рдЬрд╛рдВрдЪ рдХреИрд╕реЗ рдХрд░реЗрдВ?


рдЗрд╕рдХреЗ рд▓рд┐рдП, рдХрдИ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ, рдЖрдк StorageManager API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдпрд╣ IndexedDB рдФрд░ Cache API рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдмрд╛рдЗрдЯреНрд╕ рдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ рджрд┐рдЦрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рд╢реЗрд╖ рдХреА рдЧрдгрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

if(navigator.storage && navigator.storage.estimate) {
  const quota = await navigator.storage.estimate()
  // quota.usage ->   
  // quota.quota ->   
  const percentageUsed = (quota.usage / quota.quota) * 100
  console.log(`  ${ percentageUsed}% `)
  const remaining = quota.quota - quota.usage
  console.log(`   ${remaining} `)
}

рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ StorageManager API рдЕрднреА рддрдХ рд╕рднреА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рднрд▓реЗ рд╣реА рдпрд╣ рд╕рдорд░реНрдерд┐рдд рд╣реЛ, рдПрдХ рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд░ рдкреНрд░рджрд╛рди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдХреБрдЫ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдХреЛрдЯрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рднрдВрдбрд╛рд░рдг рдХреНрд╖рдорддрд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред

рдирд┐рд░реАрдХреНрд╖рдг


рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди, рдЖрдк рд╡рд┐рднрд┐рдиреНрди рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреА рд╕реНрдерд┐рддрд┐ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рд╛рдл рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдЯреВрд▓реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



рдЗрд╕ рд▓реЗрдЦ рдкрд░ рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдореИрдВрдиреЗ рднрдВрдбрд╛рд░рдг рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рддреНрд╡рд░рд┐рдд рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рд░рд▓ рдЙрдкрдХрд░рдг рд▓рд┐рдЦрд╛ рдерд╛ ред рдпрд╣ рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛ рднрдВрдбрд╛рд░рдг рддрдВрддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдПрдХ рддреНрд╡рд░рд┐рдд рдФрд░ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ рдФрд░ рджреЗрдЦреЗрдВ рдХрд┐ рдХреЛрдЯрд╛ рдкрд╛рд░ рд╣реЛрдиреЗ рдкрд░ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред

рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдХреИрд╕реЗ рд╕рдВрднрд╛рд▓реЗрдВ?


рд╣рдж рд╣реЛ рдЬрд╛рдиреЗ рдкрд░ рдХреНрдпрд╛ рдХрд░реЗрдВ? рдмреЗрд╢рдХ, рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рд╕рдВрднрд╛рд▓реЛ, рдпрд╣ QuotaExceededError рдпрд╛ рдХреБрдЫ рдФрд░ рд╣реЛред рдлрд┐рд░, рдЕрдкрдиреЗ рдЖрд╡реЗрджрди рдХреЗ рдбрд┐рдЬрд╛рдЗрди рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдЖрдкрдХреЛ рдЙрд╕ рддрд░реАрдХреЗ рдХреЛ рдЪреБрдирдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╡реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЖрдк рдЕрдкрдиреЗ рдЖрдХрд╛рд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдкреБрд░рд╛рдиреА рд╕рд╛рдордЧреНрд░реА рдпрд╛ рдбреЗрдЯрд╛ рдХреЛ рд╣рдЯрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдпрд╣ рддрдп рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ рд╣рдЯрд╛рдирд╛ рд╣реИред

IndexedDB рдФрд░ Cache API рдПрдХ рдХреЛрдЯрд╛ рд╕реЗ рдЕрдзрд┐рдХ рд╣реЛрдиреЗ рдкрд░ рдПрдХ Dharmrror QuotaExceededError рдлреЗрдВрдХрддреЗ рд╣реИрдВред

IndexedDB


рдЬрдм рд╕реАрдорд╛ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ IndexedDB рдХреЛ рдбреЗрдЯрд╛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рд╡рд┐рдлрд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдСрдирдмреЛрд░реНрдЯ () рд╡рд┐рдзрд┐ рдХреЛ рдПрдХ рддрд░реНрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдШрдЯрдирд╛ рдХреЗ рд╕рд╛рде рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдИрд╡реЗрдВрдЯ рдореЗрдВ рддреНрд░реБрдЯрд┐ рдЧреБрдг рдореЗрдВ DOMException рд╣реЛрдЧреАред рддреНрд░реБрдЯрд┐ рдирд╛рдо рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдкрд░ рдПрдХ QuotaExceededError рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдЧреАред

const transaction = idb.transaction(['entries'], 'readwrite')
transaction.onabort = function(event) {
    const error = event.target.error // DOMException
    if(error.name === 'QuotaExceededError') {
        // ...
    }
}

рдХреИрд╢ рдПрдкреАрдЖрдИ


рдХреИрд╢ API рдореЗрдВ рдбреЗрдЯрд╛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдЬрдм рд╕реАрдорд╛ рдкреВрд░реА рд╣реЛ рдЬрд╛рддреА рд╣реИ, рддреЛ рдЙрд╕реЗ рдХреЛрдЯрд╛ рд╕реЗ рдмрд╛рд╣рд░ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

try {
    const cache = await caches.open('my-cache')
    await cache.add(new Request('/sample1.jpg'))
} catch (error) {
    if(error.name = 'QuotaExceededError') {
        // ...
    }
}

рд╕реНрдЯреЛрд░реЗрдЬ рдХреНрд▓реАрдирдЕрдк рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ?


рд╡реЗрдм рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рджреЛ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ "рд╕реНрдЯреИрдВрдб-рдЕрд▓реЛрди" рдФрд░ "рдкреНрд░рдмрдВрдзрд┐рдд" рдореЗрдВ рдЖрддреЗ рд╣реИрдВред рд╕реНрдЯреИрдВрдб-рдЕрд▓реЛрди рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╣рд╕реНрддрдХреНрд╖реЗрдк рдХреЗ рдмрд┐рдирд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рднрдВрдбрд╛рд░ рдХреЛ рд╕рд╛рдл рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдХрдо рдЕрдиреБрдХреВрд▓рдиреАрдп рд╣реИ, рд╕рд╛рде рд╣реА рд╕рд╛рде рдорд╣рддреНрд╡рдкреВрд░реНрдг рдбреЗрдЯрд╛ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ рднреАред рдкреВрд░реНрдг рд╣реЛрдиреЗ рдкрд░ рдкреНрд░рдмрдВрдзрд┐рдд рд╡рд╛рд▓реНрдЯ рдЕрдкрдиреЗ рдЖрдк рд╕рд╛рдл рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдРрд╕реЗ рд╕реНрдЯреЛрд░реЗрдЬ (рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ) рдХреЛ рд╕рд╛рдлрд╝ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред

рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, рд╡реЗрдм рд╕реНрдЯреЛрд░реЗрдЬ (рдЗрдВрдбреЗрдХреНрд╕рдбреАрдбреАрдмреА, рдХреИрд╢ рдПрдкреАрдЖрдИ рдЗрддреНрдпрд╛рджрд┐) рдХреЛ рд╕реНрдЯреИрдВрдб-рдЕрд▓реЛрди рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдЧреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдпрджрд┐ рдореИрдиреНрдпреБрдЕрд▓ рдирд┐рдпрдВрддреНрд░рдг рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рд╣реИ , рддреЛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреБрдЫ рд╢рд░реНрддреЛрдВ рдХреЗ рддрд╣рдд рднрдВрдбрд╛рд░рдг рдХреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЦрд╛рд▓реА рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬрдм рднрд░рдирд╛ред

рднрдВрдбрд╛рд░рдг рдХреА рд╕рдлрд╛рдИ рдХреЗ рд▓рд┐рдП рд╢рд░реНрддреЗрдВ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИрдВ:

  • рдЬрдм рд╕реНрдЯреЛрд░реЗрдЬ рднрд░ рдЬрд╛рддрд╛ рд╣реИ, рддрдм рддрдХ рдХрдо рд╕реЗ рдХрдо рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ (рд╕рдмрд╕реЗ рдкреБрд░рд╛рдирд╛ рдпреВрдЬ рдЯрд╛рдЗрдо) рд╕реЗ рд╢реБрд░реВ рд╣реЛрдХрд░, рдЬрдм рддрдХ рдУрд╡рд░рдлреНрд▓реЛ рдХреА рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдирд╣реАрдВ рд╣реЛ рдЬрд╛рддреА, рддрдм рддрдХ рдХреНрд░реЛрдо рдбреЗрдЯрд╛ рдбрд┐рд▓реАрдЯ рдХрд░ рджреЗрддрд╛ рд╣реИред
  • IE 10+ рднрдВрдбрд╛рд░рдг рдХреЛ рд╕рд╛рдл рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдбреЗрдЯрд╛ рд▓рд┐рдЦрдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЛ рдЕрд╡рд░реБрджреНрдз рдХрд░рддрд╛ рд╣реИред
  • рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдХреНрд░реЛрдо рдХреА рддрд░рд╣ рд╣реА рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
  • рд╕рдлрд╛рд░реА рдиреЗ рдкрд╣рд▓реЗ рддрд┐рдЬреЛрд░реА рдХреЛ рдЦрд╛рд▓реА рдирд╣реАрдВ рдХрд┐рдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд╣рд╛рд▓ рд╣реА рдореЗрдВ рд╕рд╛рдд рджрд┐рди рдХреА рдбреЗрдЯрд╛ рдкреНрд░рддрд┐рдзрд╛рд░рдг рдЕрд╡рдзрд┐ рдЬреЛрдбрд╝реА рдЧрдИред

MacOS рдкрд░ iOS рдФрд░ iPad 13.4, Safari 13.1 рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрдиреЗ рдкрд░, рд╕рд╛рдд-рджрд┐рд╡рд╕реАрдп рдбреЗрдЯрд╛ рдЕрд╡рдзрд╛рд░рдг рдЕрд╡рдзрд┐ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрджрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд╛рдд рджрд┐рдиреЛрдВ рдХреЗ рднреАрддрд░ рдбреЗрдЯрд╛ рддрдХ рдирд╣реАрдВ рдкрд╣реБрдВрдЪрддрд╛ рд╣реИ, рддреЛ рдЙрдиреНрд╣реЗрдВ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рдиреАрддрд┐ рд╣реЛрдо рд╕реНрдХреНрд░реАрди рдкрд░ рдЬреЛрдбрд╝реЗ рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрд░ рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

рдмреЛрдирд╕: рдЗрдВрдбреЗрдХреНрд╕реЗрдб рдбреАрдмреАрдИ рдкрд░ рд╡рд╛рджрд╛ рд▓рдкреЗрдЯреЗрдВ


IndexedDB рдПрдХ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп API рд╣реИ рдЬрд┐рд╕реЗ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдХреБрдЫ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЬреЛ рдХрд┐ рд╕рд░рд▓ рдбреЗрдЯрд╛ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдиреЗ рдкрд░ рдЕрдирд╛рд╡рд╢реНрдпрдХ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЕрдзрд┐рдХрд╛рдВрд╢ рдЖрдзреБрдирд┐рдХ рд╡рд╛рджрд╛ рдЖрдзрд╛рд░рд┐рдд рдПрдкреАрдЖрдИ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдпрд╣ рдШрдЯрдирд╛ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдЖрдИрдбреАрдмреА рдЬреИрд╕реЗ рд╡рд╛рджреЛрдВ рдХрд╛ рдПрдХ рдЖрд╡рд░рдг, рдЗрд╕ рднрдВрдбрд╛рд░ рдХреА рдХреБрдЫ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЛ рдЫреБрдкрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди, рдЗрд╕рд╕реЗ рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдкрдиреЗ рдЬрдЯрд┐рд▓ рдЖрдВрддрд░рд┐рдХ рддрдВрддреНрд░ (рд▓реЗрдирджреЗрди, рд╕рдВрд╕реНрдХрд░рдг) рдХреЛ рднреА рдЫреБрдкрд╛рддрд╛ рд╣реИред

рдирд┐рд╖реНрдХрд░реНрд╖


рд╕реАрдорд┐рдд рднрдВрдбрд╛рд░рдг рдХреЗ рд╕рдордп рдФрд░ рд╕реАрдорд╛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрдорддрд┐ рдЕрдиреБрд░реЛрдз рдЧреБрдордирд╛рдореА рдореЗрдВ рдбреВрдм рдЧрдП рд╣реИрдВред рд╕рд╛рдЗрдЯреЗрдВ рдЙрди рд╕рднреА рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдФрд░ рдбреЗрдЯрд╛ рдХреЛ рдкреНрд░рднрд╛рд╡реА рдврдВрдЧ рд╕реЗ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░ рд╕рдХрддреА рд╣реИрдВ рдЬреЛ рдЙрдиреНрд╣реЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред StorageManager API рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рдЖрдк рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдореЗрдореЛрд░реА рдХрд┐рддрдиреА рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рд╣реИ рдФрд░ рдХрд┐рддрдиреА рд╢реЗрд╖ рд╣реИред рдФрд░ рд╕реНрдЯреЛрд░реЗрдЬ рдХреЛ рдореИрдиреБрдЕрд▓ рдХрдВрдЯреНрд░реЛрд▓ рдореЛрдб рдореЗрдВ рдбрд╛рд▓рдХрд░ рдЖрдк рдбреЗрдЯрд╛ рдХреЛ рдбрд┐рд▓реАрдЯ рд╣реЛрдиреЗ рд╕реЗ рдмрдЪрд╛ рд╕рдХрддреЗ рд╣реИрдВред

рдзреНрдпрд╛рди рджреЗрдВ рдкреНрд░рддрд┐:

  • рдпрд╣рд╛рдВ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЖрдИрдбреАрдмреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдиреЛрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдЖрд╡реЗрджрди рдХреИрд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реИред
  • рдпрд╣рд╛рдВ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рд╕реЗрд╡рд╛ рдХрд╛рд░реНрдпрдХрд░реНрддрд╛ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВред

рдЖрдкрдХреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП рд╢реБрдХреНрд░рд┐рдпрд╛ред рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдЦрд░реНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

All Articles