рдЗрд╕ рдкреЛрд╕реНрдЯ рдХреЗ рд╕рд╛рде, рдореИрдВ рдПрдХ рд╡рд╕реНрддреБ рдХреЗ рд╕рд╛рде, рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкрд░реНрдпрд╛рдкреНрдд рддрд░реАрдХрд╛ рд╕рд╣реА рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдкреЛрд╕реНрдЯ рд╕реЗ рдХреЛрдб "
рд╕реНрдерд╛рдиреАрдп рднрдВрдбрд╛рд░рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛, рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЗ рд╕рд╛рде?" рдЖрд░рд╛рдо рд╕реЗ! "рдореИрдВ рдЕрддреНрдпрдзрд┐рдХ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░рдиреЗ рдХреА рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ, рд╡рд╣рд╛рдВ рд╕рдм рдХреБрдЫ рдЦрд░рд╛рдм рд╣реИ (рдиреАрдЪреЗ рджрд┐рдП рдЧрдП рд░реВрдкрд░реЗрдЦрд╛рдПрдВ рд╣реИрдВ)ред рдЗрд╕рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдЙрди рд╕рднреА рдХреЛ рд╕рдордЭрд╛рдирд╛ рд╣реИ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рд▓реЗрдЦ рдХреЛ рдкрд╕рдВрджреАрджрд╛ рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЬреЛрдбрд╝рд╛ рдпрд╛
рдЗрд╕ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд▓рд╕ рдЪрд┐рд╣реНрди рд▓рдЧрд╛рдпрд╛ред
рдЕрдм рдореИрдВ рдПрдХ
рдЯрд┐рдкреНрдкрдгреА рдореЗрдВ
рд╕реНрдХреЗрд▓рд░ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╡рд┐рдЪрд╛рд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред
рдЬрдм рдкреГрд╖реНрда рд▓реЛрдб рд╣реЛрддрд╛ рд╣реИ (рдбреЛрдо рдЯреНрд░реА рддрддреНрдкрд░рддрд╛ рдШрдЯрдирд╛ рд╕реЗ рдкрд╣рд▓реЗ рднреА), рддреЛ рд╣рдо рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА (рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рд▓реЛрдХрд▓рд╕реНрдЯреЛрд░реЗрдЬ рдФрд░ рд╕реЗрд╢рдирд╕реНрдЯреЛрд░реЗрдЬ) рдкрд░ рдкрд╣реБрдВрдЪрддреЗ рд╣реИрдВ, рдЬреЗрдПрд╕рдПрди рдХреЛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдбрд┐рд╕реЗрд░реНрдмрд▓рд╛рдЗрдЬ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдХреБрдЫ рдЪрд░ рдореЗрдВ рдбрд╛рд▓рддреЗ рд╣реИрдВред
localObject = JSON.parse( localStorage.getItem( '_myStorage' ) );
рдлрд┐рд░, рдкреНрд░рддреНрдпреЗрдХ рдПрди рдорд┐рд▓реАрд╕реЗрдХрдВрдб рд░рд┐рд╡рд░реНрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрддреНрдкрд╛рджрди рдХрд░рддрд╛ рд╣реИ:
localStorage.setItem( '_myStorage', JSON.stringify( localObject ) );
Onbeforeunload рдШрдЯрдирд╛ рдХреЗ рд╕рд╛рде, рд╡рд╣реА рдХрд░реЗрдВред
рд╡рд┐рдЪрд╛рд░ рдХрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕рд░рд▓ рд╣реИ (рдХрд╛рд░реНрдп рдХрд╛ рдХрдард┐рдирд╛рдИ рд╕реНрддрд░ рдХрдо рд╣реИ рдФрд░ рдПрдХ рд╢реБрд░реБрдЖрдд рддрдХ рднреА рд╕реБрд▓рдн рд╣реИ)ред рд▓реЗрдХрд┐рди, рд╣рд░ рдХрд┐рд╕реА рдиреЗ (рдЕрдкрдиреЗ рдЖрдк рдХреЛ) рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдРрд╕рд╛ рдирд╣реАрдВ рд╕реЛрдЪрд╛ рдерд╛ред
рдСрдмреНрдЬреЗрдХреНрдЯрд╕реНрдЯреЛрд░реЗрдЬ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдХреЛрдб var ObjectStorage = function ObjectStorage( name, duration ) { var self, name = name || '_objectStorage', defaultDuration = 5000;
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ:
var storage = new ObjectStorage; storage.local = {a:4, b: {c:5}}; storage.session = {a:7, b: {c:8}}; b = storage.local.b; bc = {d:6};
рдкреГрд╖реНрда рдХреЛ рдкреБрдирдГ рд▓реЛрдб рдХрд░реЗрдВ
var storage = new ObjectStorage; console.log( storage );
рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ, рдСрдмреНрдЬреЗрдХреНрдЯрд╕реНрдЯреЛрд░реЗрдЬ рдирд┐рд░реНрдорд╛рддрд╛ рдХреЛ рдХреЙрд▓ рдХрд░рддреЗ рд╕рдордп, рдЖрдк рджреЛ рддрд░реНрдХ рдкрд╛рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ: рдирд╛рдо - рд░рд┐рдкреЙрдЬрд┐рдЯрд░реА рдФрд░ рдЕрд╡рдзрд┐ рдореЗрдВ рдХреБрдВрдЬреА рдХрд╛ рдирд╛рдо - рд▓реЛрдХрд▓рд╕реНрдЯреЛрд░реЗрдЬ рдореЗрдВ рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рдХрд╛ рдЕрдВрддрд░рд╛рд▓ред
new ObjectStorage( '_myStorage', 1000 );
рдЖрдк рдирд╛рдо рдорд╛рдирдХ рдЫреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ:
new ObjectStorage( null, 1000 );
рдпрд╛ рдЖрдк рдЖрд░рдВрднреАрдХрд░рдг рдХреЗ рдмрд╛рдж рдХреА рдЕрд╡рдзрд┐ рдХреЛ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ:
var storage = new ObjectStorage; storage.duration = 2000;
(рдЖрдк рд╕реНрдЯреЛрд░реЗрдЬ рднреА рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ ред_рдирд╛рдо, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдиреБрд╢рдВрд╕рд┐рдд рдирд╣реАрдВ рд╣реИ, рдореИрдВрдиреЗ рдПрдХ рдЫрдбрд╝реА рднреА рд░рдЦреА рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдирд┐рдЬреА рд╕рдВрдкрддреНрддрд┐ :))
рдЗрд╕ рд▓реЗрдЦ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рд▓рд┐рдВрдХ рджреНрд╡рд╛рд░рд╛ рд╕рдорд╛рдзрд╛рди рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдкреЗрд╢реЗрд╡рд░реЛрдВ:
рд╕рд╛рдорд╛рдиреНрдп рд╕рд╣рдорддрд┐:
- рдпрджрд┐ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдмрдВрдж рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ (рдмреАрдПрд╕рдУрдбреА, рдкрд╛рд╡рд░ рдЖрдЙрдЯреЗрдЬ, рдЖрджрд┐), рддреЛ рдЖрдк рдЦреЛ рд╕рдХрддреЗ рд╣реИрдВ (рд╣реЗ рднрдЧрд╡рд╛рди!) рдЕрдВрддрд┐рдо рдПрдо рд╕реЗрдХрдВрдб рдореЗрдВ рдХрд╛рдо рдХрд░реЗрдВ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рдкрд╛рдВрдЪ)ред рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдореИрдВрдиреЗ рдПрдХ рдкрд░рд┐рджреГрд╢реНрдп рдХреЗ рд╕рд╛рде рдЖрдиреЗ рдХреА рдХрд┐рддрдиреА рдХреЛрд╢рд┐рд╢ рдХреА, рдЬрд╣рд╛рдВ рдпрд╣ рдХреНрд╖рдг рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ, рдореИрдВ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ред
рдЕрдЪреНрдЫрд╛ред