рд╣рдо рдПрдХ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреНрд▓рд╛рд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдХреБрдХреАрдЬрд╝ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ

рд╕рднреА рдХреЛ рдирдорд╕реНрдХрд╛рд░! рдЖрдЬ рдореИрдВ рдПрдХ рдмрд╣реБрдд рд▓реЛрдХрдкреНрд░рд┐рдп рдкреНрд░рд╢реНрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ: рдХреБрдХреАрдЬрд╝ рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдВ? рд╣рд░ рдЬрдЧрд╣ рдмрд╣реБрдд рдЕрд▓рдЧ рддрд░реАрдХреЗ рдкреЗрд╢ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреМрди рд╕рд╛ рдмреЗрд╣рддрд░ рд╣реИ? рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рдХреЛрдИ рдирд┐рд╢реНрдЪрд┐рдд рдЬрд╡рд╛рдм рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдПрдХ рдмрд╣реБрдд рд╣реА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рддрд░реАрдХрд╛ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ, рдФрд░ рдпрджрд┐ рдЖрдк рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВ, рддреЛ рдЬрд╛рддрд┐рдпреЛрдВ рдореЗрдВ рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИред

рдФрд░ рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░


рд╣рдо get_cookie, set_cookie рдФрд░ delete_cookie рд╡рд┐рдзрд┐рдпрд╛рдБ рдмрдирд╛рддреЗ рд╣реИрдВ:

рдХреЛрдб
var _cookie = { get_cookie:function(cookie_name){ var r=document.cookie.match('(^|;) ?'+cookie_name+'=([^;]*)(;|$)'); return r?unescape(r[2]):null }, delete_cookie:function(cookie_name){ var c=new Date(); c.setTime(c.getTime()-1); document.cookie=cookie_name+="=; expires="+c.toGMTString() }, set_cookie:function(name,value,exp_y,exp_m,exp_d,path,domain,secure){ var c=name+"="+escape(value); if(exp_y){ var expires=new Date(exp_y,exp_m,exp_d); c+="; expires="+expires.toGMTString() } if(path)c+="; path="+escape(path); if(domain)c+="; domain="+escape(domain); if(secure)c+="; secure"; document.cookie=c; } } 

рдЦреИрд░, рд╣рдо рдЗрди рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рд╣рдо рдЗрд╕реЗ рд╕рдорд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рд╡рд╣ рдирд╣реАрдВ рд╣реИ рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рд╣рдо рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдореИрдВ рдЧреБрдг c # рдХреА рддрд░рд╣ рдХреБрдЫ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред

рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдкреНрд░реЙрдХреНрд╕реА рдХреНрд▓рд╛рд╕ рд╣реИред

рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдкреНрд░реЙрдХреНрд╕реА "рджреВрд╕рд░реА рд╡рд╕реНрддреБ рдХреЗ рдЪрд╛рд░реЛрдВ рдУрд░ рдШреВрдорддрд╛ рд╣реИ" рдФрд░ рдЗрд╕рдХреЗ рд╕рд╛рде рдЕрд╡рд░реЛрдзрди рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рдФрд░, рдпрджрд┐ рд╡рд╛рдВрдЫрд┐рдд рд╣реИ, рддреЛ рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛) рдЗрд╕рдХреЗ рд╕рд╛рде рд╡рд┐рднрд┐рдиреНрди рдХреНрд░рд┐рдпрд╛рдПрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкрдврд╝рдиреЗ / рд▓рд┐рдЦрдиреЗ рдХреЗ рдЧреБрдг рдФрд░ рдЕрдиреНрдпред

рдкреНрд░реЙрдХреНрд╕реА рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рджреЛ рд▓реИрдореНрдмрдбрд╛ рдлрд╝рдВрдХреНрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВ:

рдХреЛрдб
 var __methods = { get:(t,m)=>m in t?t[m]:_cookie.get_cookie(m), set:(t,m,v)=>v?_cookie.set_cookie(m,v):_cookie.delete_cookie(m) } 


рдЕрдм рд╣рдо рдЦреБрдж рдкреНрд░реЙрдХреНрд╕реА рдХреНрд▓рд╛рд╕ рдмрдирд╛рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдкрд╣рд▓рд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдХреНрд▓рд╛рд╕ рдХреЗ рддрд░реАрдХреЛрдВ рдХреА рд╕реВрдЪреА рд╣реИ, рд╣рдо рдЗрд╕реЗ _cookie рдкрд░ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдЕрдЧрд░ рдЖрдкрдХреЛ рдХреБрдХреАрдЬрд╝ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ {} рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ, рджреВрд╕рд░рд╛ рдкреИрд░рд╛рдореАрдЯрд░ рд╡рд╣реА рд╣реИ __methods рдЬреЛ рд╣рдордиреЗ рдЕрднреА рдмрдирд╛рдпрд╛ рд╣реИред

рдорд╣рд╛рди, рдЕрдм рдмрд╕ рдПрдХ рд╕рд░рд▓ рд░реЗрдЦрд╛ рд▓рд┐рдЦреЗрдВ:

 var cookie = new Proxy(_cookie,__methods); 

рд╣реБрд░реНрд░реЗ! рд╣рдордиреЗ рдПрдХ рд╡рд░реНрдЧ рдмрдирд╛рдпрд╛, рдЬрд┐рд╕реЗ рдХреЙрд▓ рдХрд░рдХреЗ (рдкреНрд░рд╛рдкреНрдд) __methods .get рд╡рд┐рдзрд┐ рдХреЗ рдЧреБрдгреЛрдВ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рди рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ - __modods.set ред

рдЙрдкрдпреЛрдЧ рдЙрджрд╛рд╣рд░рдг:

рдХреЛрдб
 var name= prompt("  ","my_name"); var value= parseFloat(prompt("   ( float )","103")); cookie[name] = value; if(value<100) cookie[name]+=10; else cookie[name]-=10; //   alert(",  "+name+" = "+value+"   !"+"\n  :\n"+document.cookie); 


рдкреВрд░реНрдг рдХреЛрдб:
 var _cookie = { get_cookie:function(cookie_name){ var r=document.cookie.match('(^|;) ?'+cookie_name+'=([^;]*)(;|$)'); return r?unescape(r[2]):null }, delete_cookie:function(cookie_name){ var c=new Date(); c.setTime(c.getTime()-1); document.cookie=cookie_name+="=; expires="+c.toGMTString() }, set_cookie:function(name,value,exp_y,exp_m,exp_d,path,domain,secure){ var c=name+"="+escape(value); if(exp_y){ var expires=new Date(exp_y,exp_m,exp_d); c+="; expires="+expires.toGMTString() } if(path)c+="; path="+escape(path); if(domain)c+="; domain="+escape(domain); if(secure)c+="; secure"; document.cookie=c; } }; var __methods = { get:(t,m)=>m in t?t[m]:_cookie.get_cookie(m), set:(t,m,v)=>v?_cookie.set_cookie(m,v):_cookie.delete_cookie(m) }; var cookie = new Proxy(_cookie,__methods); 


рд╕рдВрдкреАрдбрд╝рд┐рдд рдХреЛрдб:
 var _c={g:function(d){var c=document.cookie.match("(^|;) ?"+d+"=([^;]*)(;|$)");return c?unescape(c[2]):null},d:function(d){var c=new Date;c.setTime(c.getTime()-1),document.cookie=d+="=; expires="+c.toGMTString()},s:function(k,r,i,a,n,q,o,c){var e=k+"="+escape(r);i&&(e+="; expires="+new Date(i,a,n).toGMTString());q&&(e+="; path="+escape(q)),o&&(e+=";domain="+escape(o)),c&&(e+="; secure"),document.cookie=e}},cookie=new Proxy({get_cookie:_c.g,delete_cookie:_c.d,det_cookie:_c.s},{get:(d,c)=>c in d?d[c]:_c.g(c),set:(e,c,f)=>f?_c.s(c,f):_c.d(c)}); 


рдХреГрдкрдпрд╛ рдкреНрдпрд╛рд░ рдХрд░реЗрдВ рдФрд░ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдореЗрдВ рдПрд╣рд╕рд╛рди рдХрд░реЗрдВ)

Source: https://habr.com/ru/post/hi472972/


All Articles