一 Cookie 的优化

1.1 一般而言,我们设置cookie是在php中设置
例如:
<?php
setcookie('testKey1','hello world',0,'/'); //# 当 expires = 0 时,此Cookie随浏览器关闭而失效,?>
而在验证的时候,我们通常是:
<?php if(isset($_COOKIE['testKey2'])) echo "The New COOKIE is : testKey2 = ".$_COOKIE['testKey2']; else echo "The new COOKIE is setting failed"; ?>
都是在服务端进行。优化:
1.2 在前端页面进行验证cookie
cookie保存在客户端,那么可以在客户端那边进行验证,根据上面的代码,前端获取代码为:
<script language="JavaScript" type="text/javascript">
var key1 = document.cookie.match(new RegExp("(^| )testKey1=([^;]*)(;|$)")); //正则找出testKey的cookie值
try{
if(key1[2] != '')
document.write("testKey1 = "+key1[2]);
}catch(e){
document.write("testKey1 = NULL");
};
那么我们能否在前端设置cookie 呢 ?
1.3 在前端页面设置cookie【购物车原理】
function setCookie(){
var expire = new Date();
expire.setTime(expire.getTime() + 86400000);
document.cookie = "testKey2=This the second Cookie;expires=" + expire.toGMTString() + ";path=/";
alert('完成设置');
location.href='test2.php'
}
这样子能够减轻服务器的压力
我们要注意,这样子是有限制的,浏览器本身能够存储的数据有限:
上述是从网上找来,仅供参考,如果我们要存储更多的数据。可以使用:
1.4 local storage
在谷歌浏览器下,f12可以看到:
这个可以看成是浏览器的小型数据库,可以存储更多的数据。
示例【购物车小试】:
设置页面:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Demo2</title>
<script language="JavaScript" type="text/javascript">
var cartLSName = 'abc';
//gdsInfo=[ID,NAME,AVATAR,PRICE,NUMBER]
function addToLS(gdsInfo){
if(!window.localStorage){
alert('您的浏览器不支持Local Storage!'); //如果不支持,可以采用第1.3中的方法
return false;
}
try{
if(gdsInfo.length != 5){
alert('参数错误!');
return false;
}
}catch(e){alert('参数错误!');return false}
var gName=gdsInfo[1];
gdsInfo[1]=encodeURI(gdsInfo[1]);
gdsInfo[4]=parseInt(gdsInfo[4]);
if(isNaN(gdsInfo[4])) gdsInfo[4] = 1;
//由JSON字符串转换为JSON对象
var cartLS = JSON.parse(localStorage.getItem(cartLSName));
if(cartLS == null){
cartLS=[gdsInfo];
}else{
var existInCart=false;
for(var i=0;i<cartLS.length;i++){
if(cartLS[i][0] == gdsInfo[0]){
cartLS[i][4] += gdsInfo[4];
existInCart = true;
break;
}
}
if(!existInCart)
cartLS.splice(0,0,gdsInfo);
}
//将JSON对象转化为JSON字符,并存入LocalStorage
localStorage.setItem(cartLSName,JSON.stringify(cartLS));
return true;
}
</script>
</head>
<body>
<a href="javascript:addToLS([3,'华为Mate8','ico.jpg',3888.00,2]);" rel="external nofollow" >存储一</a><br />
</body>
</html>
效果:
有设置,就有查看:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Show LocalStorage Info</title>
<script language="JavaScript" type="text/javascript">
if(!window.localStorage){
alert('您的浏览器不支持Local Storage!');
}
var cartLSName = 'abc';
var cartStr = localStorage.getItem(cartLSName)
//gdsInfo=[ID,NAME,AVATAR,PRICE,NUMBER]
function showStr(){
str = decodeURIComponent(cartStr);
alert(str);
document.getElementById('show').innerHTML=str;
}
function showInfo(){
var cartLS = JSON.parse(cartStr);
if(cartLS == null){
alert(NULL);
}else{
var str = '';
for(var i=0;i<cartLS.length;i++){
str += "ID:"+cartLS[i][0] + "\n";
str += "Name:"+cartLS[i][1] + "\n";
str += "Logo:"+cartLS[i][2] + "\n";
str += "Price:"+cartLS[i][3] + "\n";
str += "Num:"+cartLS[i][4] + "\n";
}
str = decodeURIComponent(str);
alert(str);
document.getElementById('show').innerHTML=str.replace(/\n/g,"<br />");
}
}
function clearLS(){
localStorage.clear();
}
</script>
</head>
<body>
<a href="javascript:showStr();" rel="external nofollow" >以字符串形式显示</a><br />
<a href="javascript:showInfo();" rel="external nofollow" >显示详细</a><br />
<a href="javascript:clearLS();" rel="external nofollow" >清空</a><br />
<a href="./" rel="external nofollow" >返回设置页面</a><br />
<div id="show"></div>
</body>
</html>
效果:
以字符串形式显示
显示详细
以上这篇cookie的优化与购物车实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
# 购物车优化
# php利用cookies实现购物车的方法
# 不支持
# 购物车
# 您的
# 是在
# 给大家
# 这样子
# 客户端
# 华为
# 是有
# 就有
# 而在
# 是从
# 要注意
# 希望能
# 可以看到
# 可以使用
# 这篇
# 转化为
# 找来
# 转换为
相关文章:
杭州银行网站设计制作流程,杭州银行怎么开通认证方式?
如何通过服务器快速搭建网站?完整步骤解析
电商网站制作价格怎么算,网上拍卖流程以及规则?
如何使用Golang安装API文档生成工具_快速生成接口文档
专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何高效搭建专业期货交易平台网站?
上海网站制作网站建设公司,建筑电工证网上查询系统入口?
,购物网站怎么盈利呢?
建站之星后台搭建步骤解析:模板选择与产品管理实操指南
韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
5种Android数据存储方式汇总
网站企业制作流程,用什么语言做企业网站比较好?
c# Task.ConfigureAwait(true) 在什么场景下是必须的
宝华建站服务条款解析:五站合一功能与SEO优化设置指南
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
微信小程序制作网站有哪些,微信小程序需要做网站吗?
实例解析angularjs的filter过滤器
如何制作一个表白网站视频,关于勇敢表白的小标题?
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
网站图片在线制作软件,怎么在图片上做链接?
深圳防火门网站制作公司,深圳中天明防火门怎么编码?
简单实现Android验证码
黑客如何通过漏洞一步步攻陷网站服务器?
南平网站制作公司,2025年南平市事业单位报名时间?
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
网站网页制作电话怎么打,怎样安装和使用钉钉软件免费打电话?
网站设计制作企业有哪些,抖音官网主页怎么设置?
如何在企业微信快速生成手机电脑官网?
高性价比服务器租赁——企业级配置与24小时运维服务
详解jQuery中基本的动画方法
如何通过主机屋免费建站教程十分钟搭建网站?
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)
建站与域名管理如何高效结合?
股票网站制作软件,网上股票怎么开户?
Android使用GridView实现日历的简单功能
成都网站制作报价公司,成都工业用气开户费用?
寿县云建站:智能SEO优化与多行业模板快速上线指南
如何选择可靠的免备案建站服务器?
北京企业网站设计制作公司,北京铁路集团官方网站?
北京建设网站制作公司,北京古代建筑博物馆预约官网?
佛山网站制作系统,佛山企业变更地址网上办理步骤?
广东专业制作网站有哪些,广东省能源集团有限公司官网?
盐城做公司网站,江苏电子版退休证办理流程?
c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】
专业网站建设制作报价,网页设计制作要考什么证?
图片制作网站免费软件,有没有免费的网站或软件可以将图片批量转为A4大小的pdf?
宁波免费建站如何选择可靠模板与平台?
*请认真填写需求信息,我们会在24小时内与您取得联系。