全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

cookie的优化与购物车实例

一 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实现购物车的方法  # 不支持  # 购物车  # 您的  # 是在  # 给大家  # 这样子  # 客户端  # 华为  # 是有  # 就有  # 而在  # 是从  # 要注意  # 希望能  # 可以看到  # 可以使用  # 这篇  # 转化为  # 找来  # 转换为 


相关文章: 公司网站制作需要多少钱,找人做公司网站需要多少钱?  广州建站公司哪家好?十大优质服务商推荐  ,怎么在广州志愿者网站注册?  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  如何正确下载安装西数主机建站助手?  独立制作一个网站多少钱,建立网站需要花多少钱?  建站之星多图banner生成与模板自定义指南  制作充值网站的软件,做人力招聘为什么要自己交端口钱?  如何在IIS中新建站点并配置端口与物理路径?  网站制作公司,橙子建站是合法的吗?  如何在阿里云购买域名并搭建网站?  电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?  实例解析Array和String方法  如何快速辨别茅台真假?关键步骤解析  如何配置WinSCP新建站点的密钥验证步骤?  网站制作难吗安全吗,做一个网站需要多久时间?  北京网站制作公司哪家好一点,北京租房网站有哪些?  公司网站的制作公司,企业网站制作基本流程有哪些?  建站VPS配置与SEO优化指南:关键词排名提升策略  正规网站制作公司有哪些,目前国内哪家网页网站制作设计公司比较专业靠谱?口碑好?  制作网站哪家好,cc、.co、.cm哪个域名更适合做网站?  如何用VPS主机快速搭建个人网站?  如何选择服务器才能高效搭建专属网站?  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  Python路径拼接规范_跨平台处理说明【指导】  建站之星如何助力网站排名飙升?揭秘高效技巧  高防服务器如何保障网站安全无虞?  教学论文网站制作软件有哪些,写论文用什么软件 ?  如何快速搭建高效简练网站?  深圳 网站制作,深圳招聘网站哪个比较好一点啊?  php8.4新语法match怎么用_php8.4match表达式替代switch【方法】  建站之星后台管理:高效配置与模板优化提升用户体验  建站主机是否属于云主机类型?  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  如何零基础在云服务器搭建WordPress站点?  如何在橙子建站中快速调整背景颜色?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】  如何用PHP快速搭建CMS系统?  怎么用手机制作网站链接,dw怎么把手机适应页面变成网页?  建站之星后台密码如何安全设置与找回?  义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?  视频网站app制作软件,有什么好的视频聊天网站或者软件?  Android使用GridView实现日历的简单功能  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  兔展官网 在线制作,怎样制作微信请帖?  如何做网站制作流程,*游戏网站怎么搭建?  如何在阿里云域名上完成建站全流程? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。