常春岛资源网 Design By www.syssdc.com

一 Cookie 的优化

1.1 一般而言,我们设置cookie是在php中设置

例如:

<"htmlcode">
<"The New COOKIE is : testKey2 = ".$_COOKIE['testKey2'];
else
  echo "The new COOKIE is setting failed";
"htmlcode">
<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 呢 "htmlcode">

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'
}

这样子能够减轻服务器的压力

我们要注意,这样子是有限制的,浏览器本身能够存储的数据有限:

cookie的优化与购物车实例

上述是从网上找来,仅供参考,如果我们要存储更多的数据。可以使用:

1.4 local storage

在谷歌浏览器下,f12可以看到:

cookie的优化与购物车实例

这个可以看成是浏览器的小型数据库,可以存储更多的数据。

示例【购物车小试】:

设置页面:

<!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>

效果:

cookie的优化与购物车实例

有设置,就有查看:

<!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的优化与购物车实例

显示详细

cookie的优化与购物车实例

以上这篇cookie的优化与购物车实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

标签:
购物车优化

常春岛资源网 Design By www.syssdc.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
常春岛资源网 Design By www.syssdc.com

《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线

暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。

艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。

《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。