рдРрд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдСрдлрд╝рд▓рд╛рдЗрди рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рддрдХрдиреАрдХреЛрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: HTML5 рдПрдкреНрд▓реАрдХреЗрд╢рди рдХреИрд╢, рд╡реЗрдм рд╕реНрдЯреЛрд░реЗрдЬ рдФрд░ рд╡реЗрдмрдХреНрдпреВрдПрд▓ред
рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА
рд╡реЗрдм рд╕реНрдЯреЛрд░реЗрдЬ рдФрд░
рдПрдЪрдЯреАрдПрдордПрд▓ 5 рдПрдкреНрд▓реАрдХреЗрд╢рди рдХреИрд╢ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрд░рд┐рдЪрдпрд╛рддреНрдордХ рд▓реЗрдЦ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд┐рдП рд╣реИрдВред рдореИрдВ рдЙрдиреНрд╣реЗрдВ рдкрдврд╝рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ рдпрджрд┐ рдЖрдк рдореВрд▓ рдЕрд╡рдзрд╛рд░рдгрд╛рдУрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдирд╣реАрдВ рд╣реИрдВред рдпрд╣ рдЖрд▓реЗрдЦ рдЗрди рддрдХрдиреАрдХреЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░реЗрдЧрд╛, рдЬрд┐рд╕рдореЗрдВ WebSQL рд╢рд╛рдорд┐рд▓ рд╣реИ, рдФрд░ рдЙрдирдХреЗ рд╕рдВрдпреБрдХреНрдд рдкреНрд░рднрд╛рд╡реА рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдЧрд╛ред рдпреЗ рд╕рднреА рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпрд╛рдБ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдбреЗрд╕реНрдХрдЯреЙрдк рд╕рдВрд╕реНрдХрд░рдг рдУрдкреЗрд░рд╛ 11.10, рдУрдкреЗрд░рд╛ рдореЛрдмрд╛рдЗрд▓ 11, рд╡реЗрдмрдХреАрдЯ рдЗрдВрдЬрди рдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ (iOS рдФрд░ Google Android рдореЗрдВ) рджреНрд╡рд╛рд░рд╛ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред
рдиреЛрдЯ: рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рд╕рднреА рдЙрджрд╛рд╣рд░рдг рдЗрд╕ рд╕рдВрдЧреНрд░рд╣ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдЖрдк рд▓реЗрдЦ рдХреЛ рдкрдврд╝рддреЗ рд╕рдордп (рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рдСрдлрд╝рд▓рд╛рдЗрди) рдкрдврд╝рдХрд░ рд╕рдВрдЧреНрд░рд╣ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВред |
рд╣рдореЗрдВ "рдСрдлрд╝рд▓рд╛рдЗрди рдореЛрдб" рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ?
рд╡реЗрдм рдкреЗрдЬ рдЕрдм рдХреЗрд╡рд▓ рдкрд╛рда рдирд╣реАрдВ рд╣реИрдВред рдЗрдВрдЯрд░рдиреЗрдЯ рдХреНрд░рдорд╢рдГ рд╡реНрдпрд╛рдкрдХ рд╣реЛрддрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИ, рдФрд░ рдХреНрд░рдорд╢рдГ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рднреА рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдФрд░ рдкрд░рд┐рд╖реНрдХреГрдд рд╣реЛрддреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВред рдФрд░ рдЙрди рдкрд░ рд╣рдорд╛рд░реА рдирд┐рд░реНрднрд░рддрд╛ рдХреЗрд╡рд▓ рдмрдврд╝ рд░рд╣реА рд╣реИред рд╣рдо рдЕрдзрд┐рдХ рд╕реЗ рдЕрдзрд┐рдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдЬрдм рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рдкрд╛рд░рдВрдкрд░рд┐рдХ рдбреЗрд╕реНрдХрдЯреЙрдк рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдореБрдЦреНрдп рд▓рд╛рдн рд╣рдореЗрд╢рд╛ рд╢рд╛рдВрддрд┐рдкреВрд░реНрд╡рдХ рдСрдлрд╝рд▓рд╛рдЗрди рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЙрдирдХреА рдХреНрд╖рдорддрд╛ рд░рд╣рд╛ рд╣реИред рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рд╕рдорд╛рди рдЕрд╡рд╕рд░ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рддрдХрдиреАрдХреЛрдВ рдФрд░ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рдХрдореА рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреАред
рд▓реЗрдХрд┐рди рдЖрддреЗ рд╣реА рд╕рдм рдХреБрдЫ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ ...рд▓реЗрдХрд┐рди рдЕрдм рдпрд╣ рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рд╣реИ! рдПрдЪрдЯреАрдПрдордПрд▓ 5 рдПрдкреНрд▓реАрдХреЗрд╢рди рдХреИрд╢, рд╡реЗрдм рд╕реНрдЯреЛрд░реЗрдЬ рдФрд░ рд╡реЗрдмрдПрд╕рд╕реА рдЬреИрд╕реА рдкреНрд░реМрджреНрдпреЛрдЧрд┐рдХрд┐рдпреЛрдВ рдХреЗ рдЖрдЧрдорди рдХреЗ рд╕рд╛рде, рд╣рдореЗрдВ рдЕрдВрддрддрдГ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдСрдлрд╝рд▓рд╛рдЗрди рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рдорд┐рд▓ рдЧрдпрд╛ рд╣реИ:
- рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреИрд╢ рдЖрдкрдХреЛ HTML, рд╕реАрдПрд╕рдПрд╕ рдФрд░ рд╣рдорд╛рд░реЗ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдЕрдиреНрдп рддрддреНрд╡реЛрдВ рдХреА рдПрдХ рдкреНрд░рддрд┐ рдСрдлрд╝рд▓рд╛рдЗрди рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдиреЗрдЯрд╡рд░реНрдХ рдХреЗ рдЕрдиреБрдкрд▓рдмреНрдз рд╣реЛрдиреЗ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
- рд╡реЗрдм рд╕рдВрдЧреНрд░рд╣рдг рдХреБрдХреАрдЬрд╝ рдХреА рддрд░рд╣ рднрдВрдбрд╛рд░рдг рддрдВрддреНрд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЬреЛ рдЙрдирдХреЗ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓реЗ рдФрд░ рдЕрдзрд┐рдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред
- WebSQL рдЖрдкрдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдЕрдВрджрд░ рдПрдХ рдкреВрд░реНрдг-рд╡рд┐рдХрд╕рд┐рдд SQL рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдСрдлрд╝рд▓рд╛рдЗрди рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдбреЗрдЯрд╛ рдХреА рдкреНрд░рддрд┐рдпрд╛рдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рдЦреЛрдиреЗ рдкрд░ рднреА рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЕрдЧрд▓реА рдмрд╛рд░ рдЬрдм рдЖрдк рдиреЗрдЯрд╡рд░реНрдХ рд╕реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрддреЗ рд╣реИрдВ рддреЛ рд╕рд░реНрд╡рд░ рд╕рд░реНрд╡рд░ рдХреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред
рдиреЗрдЯрд╡рд░реНрдХ рдХрдиреЗрдХреНрдЯрд┐рд╡рд┐рдЯреА рдЦреЛрдиреЗ рдХреЗ рдХрдИ рдХрд╛рд░рдг рд╣реИрдВ: рд╕реЗрд▓ рдлреЛрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп рдПрдХ рдкрд╛рд╡рд░ рдЖрдЙрдЯреЗрдЬ, рдиреЗрдЯрд╡рд░реНрдХ рдЙрдкрдХрд░рдг рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛рдПрдВ, рдпрд╛ рдПрдХ рд▓рд╛рдкрддрд╛ (рдпрд╛ рдХрдордЬреЛрд░) рд╕рдВрдХреЗрддред рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ, рд╣рдо рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рднреА, рд╣рдорд╛рд░реЗ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ (рдХрдо рд╕реЗ рдХрдо рдЙрдЪрд┐рдд рд╕реАрдорд╛ рдХреЗ рднреАрддрд░) рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред
рдХреИрд╢: рдмреВрдЯ рдФрд░ рдПрдХ рдиреЗрдЯрд╡рд░реНрдХ рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрджрд┐ рд╣рдо рдСрдирд▓рд╛рдЗрди рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рд╕рд╛рдЗрдЯ рдХреЗ рдкреГрд╖реНрдареЛрдВ рдХреЛ рд▓реЛрдб рдпрд╛ рдкреБрдирдГ рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп рд╣рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓реЗрдЧреАред рдкрд╣рд▓реА рдмрд╛рдд рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдирд╛ рд╣реИ рдХрд┐ рд╣рдорд╛рд░реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреГрд╖реНрдареЛрдВ рдХреЛ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдХрдиреЗрдХреНрд╢рди рдХреЗ рднреА рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреНред рд╕рднреА рдЪрд┐рддреНрд░, CSS, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ HTML рдкреЗрдЬ рдХреЛ рд╕реНрд╡рдпрдВ рдЗрд╕ рдореЛрдб рдореЗрдВ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рд▓реЛрдб рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрд╣ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреИрд╢ рддрдХрдиреАрдХ (рдЬрд┐рд╕реЗ рдПрдк рдХреИрд╢ рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдПрдХ рдШреЛрд╖рдгрд╛-рдлрд╝рд╛рдЗрд▓ рдШреЛрд╖рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЙрди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдирд╛рдо рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдСрдлрд╝рд▓рд╛рдЗрди рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг
Demo.manifest рдлрд╝рд╛рдЗрд▓:
CACHE MANIFEST CACHE: logo.png style.css script.js jquery.js index.htm
рдЗрд╕ рдореИрдирд┐рдлрд╝реЗрд╕реНрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬреЛ рднреА рд▓рд┐рдВрдХ рд╣реЛрддреЗ рд╣реИрдВ, рд╕рдВрдмрдВрдзрд┐рдд рд╕рд╛рдордЧреНрд░реА рдХреЛ рдХреИрд╢ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдмрд╛рдж рдореЗрдВ рдЗрд╕ рд╕рд╛рдордЧреНрд░реА рддрдХ рдкрд╣реБрдВрдЪ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдкрд▓рдмреНрдз рд╣реЛрдЧреАред рдПрдХ рдШреЛрд╖рдгрд╛ рдлрд╝рд╛рдЗрд▓ рдШреЛрд╖рд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рд╕рд░рд▓ рд╣реИ - рдЖрдкрдХреЛ
<html> рддрддреНрд╡ рдХреА
рдкреНрд░рдХрдЯ рд╡рд┐рд╢реЗрд╖рддрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
<html manifest="demo.manifest">
рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдШреЛрд╖рд┐рдд рд╕рднреА рдлрд╝рд╛рдЗрд▓реЗрдВ рдЖрдкрдХреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдХреИрд╢ рдХреА рдЬрд╛рдПрдВрдЧреАред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЕрдЧрд░ рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдСрдлрд╝рд▓рд╛рдЗрди рд╣реИ рдФрд░ рдкреГрд╖реНрда рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рдЗрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЗрдВрдЧрд┐рдд рд╕рднреА рд╕рдВрд╕рд╛рдзрди рдмреНрд░рд╛рдЙрдЬрд╝рд░ рджреНрд╡рд╛рд░рд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЬрд╛рдПрдВрдЧреЗред
рдЖрдк
HTML5 рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреИрд╢ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓реЗрдЦ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдбреЗрдЯрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛?
AppCache рд╕рд╛рдЗрдЯ рдХреЗ рдХреБрдЫ рддрддреНрд╡реЛрдВ рдХреА рдкрд╣реБрдВрдЪ рдХреА рд╕рдорд╕реНрдпрд╛ рдХреЛ рдСрдлрд╝рд▓рд╛рдЗрди рд╣рд▓ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╢рд╛рдпрдж рд╣рдо рдХреБрдЫ рдорд╛рддреНрд░рд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗ рдпрд╛, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЗрд╕рдХреА рдирд╡реАрдирддрдо рдЦреЛрдЬреЗрдВред рдПрдХ рдЕрдиреНрдп рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдк рдЕрдзрд┐рдХ рд╕рдВрд░рдЪрд┐рдд рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рдЪрд╛рд╣ рд╕рдХрддреЗ рд╣реИрдВред рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рд╡реЗрдм рд╕реНрдЯреЛрд░реЗрдЬ рдФрд░ рд╡реЗрдмрдПрд╕рдХреНрдпреВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╕рдорд╛рдзрд╛рди рд╣реЛрдЧрд╛ред
рд╡реЗрдм рд╕рдВрдЧреНрд░рд╣рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рд╡реЗрдм рд╕рдВрдЧреНрд░рд╣рдг рд╡рд┐рд╢рд╛рд▓ рдбреЗрдЯрд╛ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЫреЛрдЯреА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХрджрдо рд╕рд╣реА рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХрд░реЗрдВрдЧреЗ рдФрд░ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП,
рд╡реЗрдм рд╕рдВрдЧреНрд░рд╣рдг рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЕрд▓рдЧ
рд▓реЗрдЦ рджреЗрдЦреЗрдВред
рдРрд╕реЗ рдХрдИ рд╕реНрдерд╛рди рд╣реИрдВ рдЬрд╣рд╛рдВ рд▓рдЧрд╛рддрд╛рд░ рдмрд┐рдЬрд▓реА рдЪреЛрд░реА рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдШрдЯрдирд╛ рд╣реИ (рдЕрдиреБрд╡рд╛рджрдХ рд╕реЗ "рдЪреБрдмрд╕реЗ, рд╣реИрд▓реЛ! :)")ред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рддрдм рддрдХ рдмреИрдардирд╛ рдФрд░ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрдм рддрдХ рд╡рд╣ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рддрдХ рдХрд┐ рд╡реЗ рдмрд┐рдЬрд▓реА рдЪрд╛рд▓реВ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдФрд░ рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЕрдЧрд░ рдХреЛрдИ рд╕рдорд╛рди рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╣реИ, рддреЛ рдХрд┐рд╕реА рднреА рд╕рд╛рдЗрдЯ рдкрд░ рдПрдХ рдмрд╣реБ-рдкреГрд╖реНрда рдлрд╝реЙрд░реНрдо рдХреЛ рднрд░рдирд╛, рдПрдХ рдмреНрд▓реЙрдЧ рдпрд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдИрдореЗрд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рдмрдбрд╝рд╛ рд▓реЗрдЦ рдЯрд╛рдЗрдк рдХрд░рдирд╛ред рдкрд╛рд╡рд░ рдЖрдЙрдЯреЗрдЬ (рдпрд╛ рдмреИрдЯрд░реА рд░рди рдЖрдЙрдЯ) рдХреЗ рджреМрд░рд╛рди, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдпрд╣ рд╕рд╛рд░рд╛ рдбреЗрдЯрд╛ рдЦреЛ рджреЗрдЧрд╛ред рдХреНрдпрд╛ рдпрд╣ рдмреЗрд╣рддрд░ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдпрджрд┐, рдиреЗрдЯрд╡рд░реНрдХ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЙрд╕рдХреЗ рдкрд╛рд╕ рдЙрди рд╕рднреА рд░рд┐рдХреЙрд░реНрдбреЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рд╣реЛрдЧреА, рдЬрд┐рдиреНрд╣реЗрдВ рдЙрд╕рдиреЗ рд╕рд╣реЗрдЬрд╛ рдирд╣реАрдВ рд╣реИ, рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╡рд╣ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдЧрд╛?
рдЖрдЗрдП рджреЗрдЦреЗрдВ рдХрд┐ рдПрдХ рдРрд╕реЗ рдкреГрд╖реНрда рдкрд░ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕рд╛рджрд╛
<textarea> рдкрд╛рда рдХреНрд╖реЗрддреНрд░ рд╣реИ? рдкреГрд╖реНрда рдХреЛ рд╡рд╣ рд╕рдм рдХреБрдЫ рд╕рд╣реЗрдЬрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рд╣рдо рд╣рд░ рдХреБрдЫ рд╕реЗрдХрдВрдб рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рднрдВрдбрд╛рд░рдг рдореЗрдВ рдЯрд╛рдЗрдк рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рд╡рд╣ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдпрд╛ рдмрдВрдж рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдкреГрд╖реНрда рдХреЛ рдлрд╝реАрд▓реНрдб рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдЕрдВрддрд┐рдо рдкрд╛рда рдХреЛ рд▓реЛрдб рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкреГрд╖реНрда рдореЗрдВ рдПрдХ
<textarea> рдлрд╝реАрд▓реНрдб рд╣реИ рдЬрд┐рд╕рдореЗрдВ
id "рдбреНрд░рд╛рдлреНрдЯ" рд╣реИ:
... <textarea id="draft" rows="10" cols="30"></textarea> ...
рд╣рдо рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдлрд╝рдВрдХреНрд╢рди рд▓рд┐рдЦреЗрдВрдЧреЗ рдЬреЛ рд╕реНрдерд╛рдиреАрдп рд╕рдВрдЧреНрд░рд╣рдг рдореЗрдВ
<textarea> рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмрдЪрд╛рдПрдЧрд╛:
function saveMessage(){ var message = document.getElementById("draft"); localStorage.setItem("message", message.value) }
рдЖрдзрд╛ рд╕реЗрдХрдВрдб рдореЗрдВ рд╕рд╣реЗрдЬреЗрдВ рдЕрдВрддрд░рд╛рд▓ рд╕реЗрдЯ рдХрд░реЗрдВ:
setInterval(saveMessage, 500);
рдиреЛрдЯ: рдпрд╣рд╛рдВ рд╣рдордиреЗ рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП setInterval () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╕рдВрджреЗрд╢ рдХреЛ рд╣рд░ рдЖрдзреЗ рд╕реЗрдХрдВрдб рдореЗрдВ рд╕реНрдерд╛рдиреАрдп рд╕рдВрдЧреНрд░рд╣рдг рдореЗрдВ рд╕рд╣реЗрдЬрд╛ рдЬрд╛ рд╕рдХреЗред (рдЖрдк рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреЗрд╡рд▓ рдПрдХ рдкрд╛рда рдХреНрд╖реЗрддреНрд░ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕рд╣реЗрдЬрдирд╛ рдЕрдЧрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕рдореЗрдВ рдХреБрдЫ рджрд░реНрдЬ рдХрд░рддрд╛ рд╣реИ)ред |
рдЖрдкрдХреЛ рдпрд╣ рднреА рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╣рд░ рдмрд╛рд░ рдЬрдм рдкреГрд╖реНрда рдЦреБрд▓рддрд╛ рд╣реИ рдпрд╛ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╕реНрдерд╛рдиреАрдп рднрдВрдбрд╛рд░рдг (
рд▓реЛрдХрд▓рд╕реНрдЯреЛрд░реЗрдЬ ) рд╕реЗ рдЕрдВрддрд┐рдо рд╕рд╣реЗрдЬреА рдЧрдИ рд╕рд╛рдордЧреНрд░реА рдХреЛ рдЯреЗрдХреНрд╕реНрдЯ рдмреЙрдХреНрд╕ рдореЗрдВ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
window.addEventListener("DOMContentLoaded", loadMessage, false); function loadMessage() { var textbox = document.getElementById("draft"); var message = localStorage.getItem("message"); if (!message) { textbox.value = ""; }else { textbox.value = message; } }
рд╡реЗрдм рд╕реНрдЯреЛрд░реЗрдЬ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВред рдпрд╣ рдЖрдо рддреМрд░ рдкрд░ рдард╛рда рд╣реИ
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдЖрдкрдХреЛ рд╕реНрдерд╛рдиреАрдп рд░реВрдк рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЫреЛрдЯреЗ рдЯреБрдХрдбрд╝реЛрдВ рдХреЛ рд╕рд╣реЗрдЬрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рд╣рдо рдСрдлрд╝рд▓рд╛рдЗрди рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ
рдСрдлрд╝рд▓рд╛рдЗрди рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕реЗ рд╕рдХреНрд░рд┐рдп рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ (рдУрдкреЗрд░рд╛ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ: "рдореЗрдиреВ" тЖТ "рд╕реЗрдЯрд┐рдВрдЧ" тЖТ "рдСрдлрд╝рд▓рд╛рдЗрди рдХрд╛рдо рдХрд░реЗрдВ" рдпрд╛ "рдлрд╝рд╛рдЗрд▓" тЖТ "рдХрд╛рд░реНрдп рдСрдлрд╝рд▓рд╛рдЗрди")ред рдпрджрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдСрдлрд╝рд▓рд╛рдЗрди рд╣реИ, рддреЛ
navigator.onLine рдЧреБрдг
рдЧрд▓рдд рд╣реИ, рдЕрдиреНрдпрдерд╛ рдпрд╣
рд╕рддреНрдп рд╣реИ ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХрдИ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рдШрдЯрдирд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реЛрдЧрд╛ред рдЬрдм рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдСрдлрд╝рд▓рд╛рдЗрди рдореЛрдб рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░рддрд╛ рд╣реИ, рддреЛ
рдСрдлрд╝рд▓рд╛рдЗрди рдИрд╡реЗрдВрдЯ рдЪрд╛рд▓реВ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдм рд╡рд╣
рдСрдирд▓рд╛рдЗрди рд╕реНрд╡рд┐рдЪ рдХрд░рддрд╛ рд╣реИ - рдХреНрд░рдорд╢рдГ
рдСрдирд▓рд╛рдЗрди ред рдСрдлрд╝рд▓рд╛рдЗрди рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЫреЛрдЯрд╛ рд╕рдВрджреЗрд╢ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдЖрдкрдХреЛ рдРрд╕рд╛ рдХреБрдЫ рдорд┐рд▓рддрд╛ рд╣реИ:
... window.addEventListener( "offline", function(){showWarningDiv("on")}, false); window.addEventListener( "online", function(){showWarningDiv("off")}, false); ... function showWarningDiv(status){ var warningdiv = document.getElementById("warning"); if (status == "on"){ warningdiv.innerHTML = "<p style=\"padding:3px;\">Right now you are in offline mode. This message is saved and will be sent to the server the next time you are online.</p>"; } else { warningdiv.innerHTML = ""; } }
рдиреЛрдЯ: рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдСрдлрд╝рд▓рд╛рдЗрди рд╕рдорд░реНрдерди рдХреЗрд╡рд▓ рдУрдкреЗрд░рд╛ рдФрд░ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред |
рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдСрдлрд╝рд▓рд╛рдЗрди рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдбреЗрдЯрд╛ рднреЗрдЬрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЗрд╕реЗ рдЬрд╛рдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдпрд╣ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
... window.addEventListener( "submit", submitForm, false); ... function submitForm(){ saveMessage(); if (!navigator.onLine){ return false; } }
рдлрд╝реЙрд░реНрдо рдбреЗрдЯрд╛ рд╕рдмрдорд┐рдЯ рдХрд░рддреЗ рд╕рдордп,
рд╕рдмрдорд┐рдЯ рдИрд╡реЗрдВрдЯ
рдлрд╝рд╛рдпрд░ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ , рдЬреЛ
рд╕рдмрдорд┐рдЯрдлрд╝реЙрд░реНрдо () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдкрд╣рд▓реЗ рдореИрд╕реЗрдЬ рдХреЛ рд▓реЛрдХрд▓ рд╕реНрдЯреЛрд░реЗрдЬ рдореЗрдВ рд╕реЗрд╡ рдХрд░реЗрдЧрд╛, рдлрд┐рд░ рдЕрдЧрд░ рдпреВрдЬрд╝рд░ рдСрдлрд▓рд╛рдЗрди рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ, рддреЛ рдбреЗрдЯрд╛ рдХрд╣реАрдВ рднреА рдирд╣реАрдВ рднреЗрдЬрд╛ рдЬрд╛рдПрдЧрд╛ред
рдЖрдк рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рддрд╛рдХрд┐ рдпрд╣ рд╣рд░ рдХреБрдЫ рд╕реЗрдХрдВрдб рдореЗрдВ рд╕рд░реНрд╡рд░ рдХреЛ рдПрдХ рдХреЙрдкреА рдмрдЪрд╛рддрд╛ рд╣реИ рддрд╛рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреНрд╡рд╛рд░рд╛ рдЧрд▓рддреА рд╕реЗ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрд╡рдпрдВ рд╕реЗ рд╣рдЯрд╛рдП рдЬрд╛рдиреЗ рдХреА рд╕реНрдерд┐рддрд┐ рдореЗрдВ рдпрд╣ рд╡рд╣рд╛рдВ рдЙрдкрд▓рдмреНрдз рд╣реЛред рдпрд╣ рдХрд╛рдо рдХреЗ рдорд╛рдорд▓реЛрдВ рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЧреЛрдкрдиреАрдп рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд╕рд╛рде: рдЖрдк, рдХрд╣рддреЗ рд╣реИрдВ, рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ рдЖрдкрдХреЗ рдХреНрд░реЗрдбрд┐рдЯ рдХрд╛рд░реНрдб рдХреА рдЬрд╛рдирдХрд╛рд░реА рдХреЗрд╡рд▓ рдЖрдкрдХреЗ рд╕реНрдерд╛рди рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рдХреА рдЬрд╛рдП - рд╕реНрдерд╛рдиреАрдп рднрдВрдбрд╛рд░рдг рдореЗрдВред
рдЬрд╛рдирдХрд╛рд░реА рд╕рдВрдЧреНрд░рд╣ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
sessionStorage рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ
рдЕрдзрд┐рдХ рдЙрдиреНрдирдд рдЙрджрд╛рд╣рд░рдг рднреА рджреЗрдЦреЗрдВред рдпрджрд┐ рдЖрдк рдкреГрд╖реНрда рдХреЛ рдмрдВрдж рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ (рднрд▓реЗ рд╣реА рд╡рд╣ рдкреБрдирдГ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ), рдкрд╛рда рдмреЙрдХреНрд╕ рдореЗрдВ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдкрд╛рда рд╡рд╣реАрдВ рд░рд╣реЗрдЧрд╛ред рдкреЗрдЬ рдЗрд╕ рдХреНрд╖реЗрддреНрд░ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╣рд░ рдХреБрдЫ рд╕реЗрдХрдВрдб рдореЗрдВ рд╕рд░реНрд╡рд░ рдХреЛ рднреЗрдЬреЗрдЧрд╛ рдФрд░, рддрджрдиреБрд╕рд╛рд░, рдЕрдВрддрд┐рдо рдмрдЪрдд рдХреЗ рд╕рдордп рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдЧрд╛ред рдЗрд╕ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдмреНрд▓реЙрдЧ рдЗрдВрдЬрди рдФрд░ рдИрдореЗрд▓ рд╕реЗрд╡рд╛рдУрдВ рдореЗрдВ рд╕рдордп-рд╕рдордп рдкрд░ "рдбреНрд░рд╛рдлреНрдЯ" рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдХрдиреЗрдХреНрд╢рди рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред
WebSQL: рдЕрднреА рднреА рдСрдлрд╝рд▓рд╛рдЗрди "рдареВрдВрда"
рд╡реЗрдм рд╕реНрдЯреЛрд░реЗрдЬ рдЫреЛрдЯреА рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╕реВрдЪрдирд╛рдУрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдЕрдЧрд░ рд╣рдо рдПрдХ рдкреВрд░реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ? рдХреИрд╕реЗ рдПрдХ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд┐рднрд┐рдиреНрди рдбреЗрдЯрд╛рдмреЗрд╕ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ, рдЗрд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЦреЛрдЬ рдХрд░реЗрдВ?
рдпрд╣рд╛рдВ рд╡реЗрдм рд╕реНрдЯреЛрд░реЗрдЬ рдЕрдм рдЖрдкрдХреЛ рддреИрдирд╛рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдирд╣реАрдВ рджреЗрдЧрд╛ - рдЖрдкрдХреЛ рдХреБрдЫ рдФрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдЪрд╛рд╣рд┐рдПред рдЕрд░реНрдерд╛рддреН - WebSQLред WebSQL рдПрдХ рд╕реНрдерд╛рдиреАрдп SQLite рдбреЗрдЯрд╛рдмреЗрд╕ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ SQL рдХреЗ рд╕рдВрдпреЛрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреЛ рд╕реНрдЯреЛрд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
WebSQL рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛
рдкрд╣рд▓реА рдЪреАрдЬреЗрдВ рдкрд╣рд▓реЗ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ WebSQL рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ? рдпрд╣
window.openDatabase property рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
if (window.openDatabase){
рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдирд╛ рдФрд░ рдЦреЛрд▓рдирд╛
рдЖрдк рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░
рдУрдкрдирдбреЗрдЯрд╛рдмреЗрд╕ рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЦреЛрд▓ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╣реИ:
var db = openDatabase("food_db", "1.0", "Web SQL Storage Demo Database", 1*1024*1024);
рд╣рдордиреЗ
"рд╡реЗрдм SQL рд╕реНрдЯреЛрд░реЗрдЬ рдбреЗрдореЛ рдбреЗрдЯрд╛рдмреЗрд╕" рдХреЗ рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде, "рд╕рдВрд╕реНрдХрд░рдг" 1.0 рдХрд╛ рдПрдХ
food_db рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдпрд╛, рдЖрдХрд╛рд░ рдореЗрдВ 1 рдПрдордмреАред
Db рд╡реИрд░рд┐рдПрдмрд▓ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдПрдХ рдкреЙрдЗрдВрдЯрд░ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рд╣рдо рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦреЗрдВрдЧреЗред
рдиреЛрдЯ: рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЖрдХрд╛рд░ рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рд╣рдордиреЗ 1 * 1024 * 1024 рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдЖрдХрд╛рд░ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИ, рдЬреЛ рдХрд┐ 1 рдПрдордмреА рд╣реИред рдпрджрд┐ рдЖрдкрдХреЛ рдЖрдХрд╛рд░ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 4 рдПрдордмреА, рддреЛ рдЖрдкрдХреЛ рдХреНрд░рдорд╢рдГ 4 * 1024 * 1024 рдХрд╛ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред |
рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВ
рд╣рдордиреЗ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдпрд╛ рдФрд░ рдЦреЛрд▓рд╛ рд╣реИред рдЕрдм рдЖрдк SQL рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдкрд░ рд╡рд┐рднрд┐рдиреНрди рдСрдкрд░реЗрд╢рди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдо рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдмреНрдЬреЗрдХреНрдЯ (рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣
рдбреАрдмреА рд╣реИ ) рдХреЗ
рд▓реЗрдирджреЗрди () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХрд░реЗрдВрдЧреЗред рдЙрд╕рдХрд╛ рдХреЙрд▓ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдПрдХ рдкреЙрдЗрдВрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕ рдкрд░ рд╣рдо
executeSQL () рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рднрд┐рдиреНрди рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рдХрдорд╛рдВрдб рдХрд╛ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
executeSql(sqlStatement, arguments, callback, errorCallback);
рдорд╛рдкрджрдВрдбреЛрдВ рдореЗрдВ рд╕реЗ, рдХреЗрд╡рд▓
sqlStatement рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдмрд╛рдХреА рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИрдВред
рдЗрд╕рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рд╣рдо рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд▓рд┐рдЦрдирд╛ рд╣реЛрдЧрд╛:
... db.transaction( function(t){
рдпрд╣ рдХреЛрдб рдлрд╝реАрд▓реНрдб
food_name ,
рдХреИрд▓реЛрд░реА рдФрд░
рд╕рд░реНрд╡рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рдЯреЗрдмрд▓
cal_list (рдпрджрд┐ рдпрд╣ рдореМрдЬреВрдж рдирд╣реАрдВ рдерд╛)
рдмрдирд╛рдПрдЧрд╛ ред
рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдЬреЛрдбрд╝рдирд╛
рдХрд┐рд╕реА рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд░рд┐рдХреЙрд░реНрдб рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рдирд╛ WebSQL рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдХрд╛рд░реНрдп рд╣реИред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:
var food_name = "pizza"; var amount_of_calories = 320; var serving_size = "one slice"; db.transaction( function(t){ t.executeSql("INSERT INTO cal_list VALUES (?, ?, ?)", [food_name, amount_of_calories, serving_size]); } );
рдкрд╣рд▓рд╛ рдкреНрд░рд╢реНрди рдЪрд┐рд╣реНрди
food_name рдкреИрд░рд╛рдореАрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдмрдЪ рдЬрд╛рддрд╛ рд╣реИ, рджреВрд╕рд░рд╛
amount_of_calories рджреНрд╡рд╛рд░рд╛, рдФрд░ рддреАрд╕рд░рд╛
рд╕реЗрд╡рд╛рд░рдд_рдХрд░рдиреЗ рд╕реЗ
рдмрдЪ рдЬрд╛рддрд╛ рд╣реИ ред рдпрд╣ рдХреЛрдб рдореВрд▓реНрдпреЛрдВ рдХреЗ рд╕рд╛рде
cal_list рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдПрдХ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рдЬреЛрдбрд╝рддрд╛ рд╣реИ:
рдкрд┐рдЬреНрдЬрд╛ ,
320 рдФрд░
рдПрдХ рдЯреБрдХрдбрд╝рд╛ рдЗрд╕реА рдХреЙрд▓рдоред
рдЪрд▓реЛ рдПрдХ рдФрд░ рдЕрдиреБрд░реЛрдз рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддреЗ рд╣реИрдВ - рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:
var min_cal_amount = 300; ... t.executeSql("SELECT * FROM cal_list WHERE calories > ?", [min_cal_amount]);
рдпрд╣ рдХреЛрдб 300 рд╕реЗ
рдЕрдзрд┐рдХ рдХреИрд▓реЛрд░реА рдорд╛рди рд╡рд╛рд▓реЗ рд╕рднреА рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдЧрд╛: рдкреНрд░рд╢реНрди рдЪрд┐рд╣реНрди
min_cal_amount рдЪрд░ рд╕реЗ рдмрдЪ рдЬрд╛рддрд╛ рд╣реИред
рдХреНрд╡реЗрд░реА рдкрд░рд┐рдгрд╛рдо рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдирд╛
рдареАрдХ рд╣реИ, рдпрд╣рд╛рдВ рд╣рдордиреЗ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдпрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╣рдордиреЗ рдбреЗрдЯрд╛ рд░рд┐рдХреЙрд░реНрдб рдХрд┐рдпрд╛ рдерд╛, рдЕрдм рд╣рдо рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдХреНрд╡реЗрд░реА рдФрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЖрдорддреМрд░ рдкрд░, рд╣рдореЗрдВ рдПрдХрд▓ SQL рдХреНрд╡реЗрд░реА рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдореЛрдВ рдХрд╛ рдПрдХ рдЧреБрдЪреНрдЫрд╛ рдорд┐рд▓рддрд╛ рд╣реИ, рдФрд░ рд╣рдореЗрдВ рдХрд┐рд╕реА рддрд░рд╣ рд╕реЗ рдЗрди рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдпрд╛ рдкреГрд╖реНрда рдкрд░ рдХреБрдЫ рдЕрдиреНрдп рд╕рдВрд░рдЪрд┐рдд рд░реВрдк рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреАрд╕рд░рд╛ рдкреИрд░рд╛рдореАрдЯрд░ () рдлрд╝рдВрдХреНрд╢рди рдХреНрд╡реЗрд░реА рдХреА рд╕рдлрд▓рддрд╛ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:
var list = document.getElementById("thelist"); var food; var min_cal_amount = 400; var serving_size; db.transaction( function(t){ t.executeSql("SELECT food_name AS food, calories AS amount_of_calories, servings as serving_size FROM cal_list where calories > ?" ,[min_cal_amount], function(t,r){ for (var i=0; i < r.rows.length; i++){ food = r.rows.item(i).food; amount_of_calories = r.rows.item(i).amount_of_calories; serving_size = r.rows.item(i).serving_size; list.innerHTML +="<li>"+food+" has "+amount_of_calories+" KCAL worth of calories.</li>"; } }, function(t,e) {alert(e.message);}) } );
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо
r.rows.length рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдиреБрд░реЛрдз рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рддрддреНрд╡реЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ
рд╣реИрдВ рдФрд░ 0 рд╕реЗ рдЗрд╕ рдореВрд▓реНрдп рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВред рдкреНрд░рддреНрдпреЗрдХ рдЖрдЗрдЯрдо
r.rows.item (i) рджреНрд╡рд╛рд░рд╛ рдкрд╣реБрдВрдЪ рдпреЛрдЧреНрдп рд╣реИ, рдЬрд╣рд╛рдВ рдореИрдВ рд▓рд╛рдЗрди рдирдВрдмрд░ рд╣реИред рдХреЙрд▓рдо рдирд╛рдо рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд┐рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдЦрд╛рджреНрдп рд╕реНрддрдВрдн рдХрд╛ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП,
r.rows.item (i) .food, рдФрд░ рдЕрдиреНрдп рд╕реНрддрдВрднреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
рд╣рдо рд╕рдм рдХреБрдЫ рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ
рдпрд╣ рд╕рдВрднрд╡ рд╣реИ рдХрд┐ рдЖрдк рдПрдХ рд╕рд╛рде рд╡реЗрдм рд╕реНрдЯреЛрд░реЗрдЬ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреИрд╢ рдФрд░ рд╡реЗрдм SQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдпрд╣ рд╕рдВрднрд╡ рд╣реИ, рдпрд╣ рд╕рдм рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рд▓ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк рдХреЗрд╡рд▓ рдХреБрдЫ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ WebSQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдмрд╣реБрдд рд╣реА рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ред рдРрд╕реЗ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рд╡реЗрдм рд╕реНрдЯреЛрд░реЗрдЬ рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╣реИред
рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдбреЗрдЯрд╛ рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдЗрд╕реЗ рдХрд┐рд╕реА рддрд░рд╣ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдпрд╣ WebSQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рддрд╛рд░реНрдХрд┐рдХ рд╣реЛрдЧрд╛ред
рдХреИрд▓реЛрд░реА рдЙрджрд╛рд╣рд░рдг рдкреГрд╖реНрда рдкрд░ рдЬрд╛рдПрдВ, рдЬреЛ
рд╕рднреА рддреАрди рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдПрдХ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ : рдбреЗрдЯрд╛рдмреЗрд╕ рд╡реЗрдм рд╕реНрдЯреЛрд░реЗрдЬ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдк рдкреГрд╖реНрда рдХреЛ рдмрдВрдж рдпрд╛ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рдкрд░ рднреА рдЦреЛрдЬ рд╕рдХрддреЗ рд╣реИрдВ, AppCache рдФрд░ WebSQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдСрдлрд╝рд▓рд╛рдЗрди рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдиреЛрдЯ: рдЖрдк рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдУрдкреЗрд░рд╛ рдореЗрдВ рдХреМрди рд╕реЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдУрдкреЗрд░рд╛ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдЙрдиреНрд╣реЗрдВ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВ : рд╡реЗрдмрдбреЗрдЯрд╛ рд▓рд┐рдВрдХ ред рдФрд░ рдЙрди рдбреЛрдореЗрди рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ рдЬреЛ рд╡реЗрдм рд╕реНрдЯреЛрд░реЗрдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЕрдкрдиреЗ рдбреЗрдЯрд╛ рдХреЛ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рд╕реНрдЯреЛрд░ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдУрдкреЗрд░рд╛: рд╡реЗрдмрд╕реНрдЯреЛрд░ рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░рдХреЗ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рддреЗ рд╣реИрдВред |
рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░реЗрдВ ... рдХреНрдпрд╛ WebSQL рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рд╕реНрд╡реАрдХреГрдд рд╣реИрдВ?
рдЕрднреА рддрдХ рдлрд╛рдЗрдирд▓ рдирд╣реАрдВ рд╣реБрдЖ рд╣реИред рд▓реЗрдХрд┐рди рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдФрд░ рдЙрдкрдХрд░рдгреЛрдВ рдХреА рд╕реВрдЪреА рдкрд░ рдЗрд╕ рддрдХрдиреАрдХ рдХреЛ рд▓рд╛рдЧреВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред IndexedDB рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреНрд░реЙрд╕-рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рд╕рдорд░реНрдерди рдирд╣реАрдВ рд╣реИред рдпрд╣ рдХреЗрд╡рд▓ рд╡рд┐рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдЕрдиреБрдореЛрджрди рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдиреА рд╣реБрдИ рд╣реИ, рдЬреЛ рдЬрд▓реНрдж рд╣реА рд╣реЛрдЧрд╛ред
рдпрд╣ рднреА рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЗ рдХреБрдЫ рдбреЗрд╕реНрдХрдЯреЙрдк рд╕рдВрд╕реНрдХрд░рдг, рдЬреИрд╕реЗ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдФрд░ рдЗрдВрдЯрд░рдиреЗрдЯ рдПрдХреНрд╕рдкреНрд▓реЛрд░рд░, WebSQL рдХрд╛ рд╕рдорд░реНрдерди рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рд╡реЗ IndexbDB рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдВрдЧреЗред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдкрд╣рд▓реЗ рдЬрд╣рд╛рдВ рдЖрдк WebSQL рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд╕реНрдорд╛рд░реНрдЯрдлрд╝реЛрди рдХреЗ рд▓рд┐рдП рдСрдлрд╝рд▓рд╛рдЗрди рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣рдг рд╣реИ: рдУрдкреЗрд░рд╛ рдореЛрдмрд╛рдЗрд▓ 11 рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВ, рд╕рд╛рде рд╣реА рдПрдВрдбреНрд░реЙрдЗрдб рдФрд░ рдЖрдИрдУрдПрд╕ рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рд▓рд┐рдП рд╡реЗрдмрдХрд┐рдЯ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рднреА рд╣реИрдВред
WebSQL рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдЪреНрдЫреА рдЦрдмрд░ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдПрдХ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрдкрдпреЛрдЧреА рдЙрдкрдХрд░рдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╕реАрдЦрдирд╛ рдФрд░ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрд╕рд╛рди рд╣реИ рдФрд░ рдЖрдкрдХреЛ рдПрдХ рд╕реНрдЯреИрдВрдб-рдЕрд▓реЛрди рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЬрд▓реНрджреА рд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рддреБрд░рдВрдд рдХрдИ рдмреНрд░рд╛рдЙрдЬрд╝рд░реЛрдВ рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдЧрд╛ред
рдирд┐рд╖реНрдХрд░реНрд╖
рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рдиреЛрдВ рдореЗрдВ рдЕрдм рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рд╛рдпрддреНрдд рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реИ, рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреИрд╢, рд╡реЗрдм рд╕реНрдЯреЛрд░реЗрдЬ рдФрд░ рд╡реЗрдмрдХреНрдпреВрдПрд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдЬреИрд╕реА рддрдХрдиреАрдХреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗред рд╣рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдСрдлрд╝рд▓рд╛рдЗрди рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдХреИрд╢рд┐рдВрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреИрд╢ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ; рд╡реЗрдм рд╕реНрдЯреЛрд░реЗрдЬ рдХрдо рдорд╛рддреНрд░рд╛ рдореЗрдВ рд╕реВрдЪрдирд╛рдУрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИ, рд▓реЗрдХрд┐рди WebSQL рдбреЗрдЯрд╛ рдХреЗ рдмрдбрд╝реЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЙрдкрдХрд░рдг рд╣реЛрдЧрд╛ред рдЙрдирдХреА рдЬрд░реВрд░рддреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реНрдЯреИрдВрдб-рдЕрд▓реЛрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрди рддрдХрдиреАрдХреЛрдВ рдХреЗ рдПрдХ рдЕрд▓рдЧ рд╕рдВрдпреЛрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рддрдХрдиреАрдХ рд╣реЛрдирд╣рд╛рд░ рд╣реИред рдФрд░, рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рд╡рд╣рд╛рдБ рджреМрдбрд╝ рд╣реЛрдЧреА ... WebSQL рдФрд░ IndexedDB, рдЬрд┐рдирдореЗрдВ рд╕реЗ рдЙрд▓реНрд▓реЗрдЦ рдкрд╣рд▓реЗ
рд╕реЗ рд╣реА рд╣рдм рдкрд░ рдереЗ рдХреНрдпрд╛ рд╡реЗ рджреБрдирд┐рдпрд╛ рдХреЛ рдПрдХ рдмреЗрд╣рддрд░ рдЬрдЧрд╣ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ :)
рдкреАрдПрд╕ рдЕрдиреБрд╡рд╛рдж рдкрд░ рд╕рднреА рдЯрд┐рдкреНрдкрдгрд┐рдпрд╛рдВ, рд╣рдореЗрд╢рд╛ рдХреА рддрд░рд╣, рдкреАрдПрдо рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХреА рдЬрд╛рддреА рд╣реИрдВред
pps рдХрд╣реАрдВ рдореИрдВ рдЬрд╛рд╣рд┐рд░рд╛ рддреМрд░ рдкрд░ "рд╡реЗрдм рд╕реНрдЯреЛрд░реЗрдЬ" рд╕реЗ "рд▓реЛрдХрд▓ рд╕реНрдЯреЛрд░реЗрдЬ" рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдЪрд▓рд╛ рдЧрдпрд╛ред рдХреБрдЫ рдЫреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдмреЗрд╣рддрд░ рдХреНрдпрд╛ рд╣реИ? ;)