介绍
怎么对饼干进行优化?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
<强> 1.1一般而言,我们设置饼干是在php中设置强>
例如:
& lt;及# 63;php setcookie (& # 39; testKey1& # 39;, & # 39;你好& # 39;,0,& # 39;/& # 39;);//#当=0时到期,此Cookie随浏览器关闭而失效,,# 63;在
而在验证的时候,我们通常是:
& lt;及# 63;php 如果(收取($ _COOKIE [& # 39; testKey2& # 39;))) 回声“新饼干:testKey2=啊C涝猒COOKIE [& # 39; testKey2& # 39;]; 其他的 回声“新饼干failed"; ,# 63;在
都是在服务端进行。优化:
<强> 1.2在前端页面进行验证饼干强>
饼干保存在客户端,那么可以在客户端那边进行验证,根据上面的代码,前端获取代码为:
& lt;脚本语言=癑avaScript"类型=拔谋?javascript"比; var key1=!?新RegExp匹配(“(^ |)testKey1=((^;) *) (; | $)“));//正则找出testKey的cookie值 尝试{ 如果(key1 [2] !=& # 39; & # 39;) document . write (“testKey1=? key1 [2]); }捕捉(e) { document . write (“testKey1=NULL"); };
那么我们能否在前端设置饼干呢,# 63;
<强> 1.3在前端页面设置饼干【购物车原理】强>
函数setCookie () { var=new到期日期(); expire.setTime (expire.getTime () + 86400000); 文档。饼干=皌estKey2=这第二块饼干;到期=?+ expire.toGMTString() +“路径=/? 警报(& # 39;完成设置& # 39;); location.href=https://www.yisu.com/zixun/皌est2.php” }
这样子能够减轻服务器的压力
我们要注意,这样子是有限制的,浏览器本身能够存储的数据有限:
上述是从网上找来,,如果我们要存储更多的数据。可以使用:
在谷歌浏览器下,f12可以看到:
这个可以看成是浏览器的小型数据库,可以存储更多的数据。
<强> 强> 强>
<强> 强> 强>
& lt; !DOCTYPE html公众“-//W3C XHTML 1.0//DTD//EN"过渡;“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"比; & lt; html xmlns=癶ttp://www.w3.org/1999/xhtml"比; & lt; head> & lt;元http-equiv=癈ontent-Type"内容=皌ext/html;charset=utf-8"/比; & lt; title> Demo2 & lt;脚本语言=癑avaScript"类型=拔谋?javascript"比; var cartLSName=& # 39; abc # 39;;//gdsInfo=[ID、名称、阿凡达、价格、数量) 函数addToLS (gdsInfo) { 如果(! window.localStorage) { 警报(& # 39;您的浏览器不支持本地存储! & # 39;);//如果不支持,可以采用第1.3中的方法 返回错误; } 尝试{ 如果(gdsInfo。长度!=5){ 警报(& # 39;参数错误! & # 39;); 返回错误; } }捕捉(e){警报(& # 39;参数错误! & # 39;),返回false} var gName=gdsInfo [1]; gdsInfo [1]=encodeURI (gdsInfo [1]); gdsInfo[4]=方法(gdsInfo [4]); 如果(isNaN (gdsInfo [4]) gdsInfo [4]=1;//由JSON字符串转换为JSON对象 var cartLS=JSON.parse (localStorage.getItem (cartLSName)); 如果(cartLS==null) { cartLS=[gdsInfo]; 其他}{ var existInCart=false; 我(var=0; i< cartLS.length;我+ +){ 如果(cartLS[我][0]==gdsInfo [0]) { cartLS[我][4]+=gdsInfo [4]; existInCart=true; 打破; } } 如果(! existInCart) cartLS.splice (0, 0, gdsInfo); }//将JSON对象转化为JSON字符,并存入LocalStorage localStorage.setItem (cartLSName JSON.stringify (cartLS)); 返回true; } & lt;/script> & lt;/head> & lt; body> & lt; a href=癹avascript: addToLS([3 & # 39;华为Mate8& # 39;, & # 39; ico.jpg& # 39;, 3888.00, 2]);“rel=巴獠縩ofollow"在存储一& lt;/a> & lt; br/比; & lt;/body> & lt;/html>
效果:
& lt; !DOCTYPE html公众“-//W3C XHTML 1.0//DTD//EN"过渡;“http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"比; & lt; html xmlns=癶ttp://www.w3.org/1999/xhtml"比; & lt; head> & lt;元http-equiv=癈ontent-Type"内容=皌ext/html;charset=utf-8"/比; & lt; title>显示LocalStorage Info怎么对饼干进行优化