时间: 2021-07-31 作者:daque
欣赏器不妨经过cookies保持相关数据。象windows的备案表一律,用户不用领会cookies的简直场所,欣赏器能找到那些数据。第六代的欣赏器,尽管是ie仍旧ns都扶助document.cookie属性。经过这个属性来读取或窜改cookies的值。然而cookies的保存情势利害构造化的长字符串,须要过程相映的领会后才有意旨。cookies的表白如次,除去name=value除外,其它均为可选:name=value; expires=date;domain=domainnamepath=pathname;secure;
比方:user=hockeydude; expires=thu,01-jan-70 00:00:01 gmt; domain=www.mydomain.com; path=/images; secure;pass=gretzky; expires=thu,01-jan-70 00:00:01 gmt; domain=www.mydomain.com; path=/images; secure;
这么长的两个字符串只代办了两个cookies。即使还要再加上电子邮箱或其余消息就还得加大字符串。常常都是经过领会如许的字符串来博得各个变量或元素的。这简直是费时劳累的事。
我运用面向东西安排(object oriented design,ood)的思绪来编写cookies处置因变量,其特性如次:
便于增加和删除子项。这是很要害的,有些欣赏器控制cookies的运用数目。经过窜改因变量不妨简单地窜改实效数据。常常的做法很烦恼,要正片cookies,简略原cookies,窜改并列写cookies。cookies和它的子项寄存在数组里。不妨按照须要赶快而灵验地举行窜改。如许也不必领会那长长的字符串。
cookies东西的运用以次是东西的国有本领:
方括号[]内是可选参数//结构cookie([定界符,缺省为句点]) - 结构因变量
//初始化getcookiecount() - 归来cookies数目fetch(index) - 归来指定索引的cookies名字create(name, days) - 创造cookies及当时效天数modify(name, days) - 窜改cookies的实效天数delete(name) - 简略cookies及其子项getcount(name) - 归来cookies的子项数目additem(name, value) - 减少一个子项getitem(name, index) - 归来指定索引的子项delitem(name, index) - 简略指定的子项
//存取load() - 读取cookiessave() - 保存cookies
底下是运用范例:
<!-- html网页内挪用cookies东西 --><script language="javascript" src="cookie.js"></script>
<!-- 结构并初始化cookies -->
<script language="javascript"> //cookies类范例化 var mycookie = new cookie();
//即使没有cookies,就创造一个新的cookies if(!mycookie.load()){ mycookie.create("user", 10); //创造用户(user)cookies,灵验期10天 mycookie.create("pass", 15); mycookie.additem("user", "gretzky"); //减少一个用户子项 mycookie.additem("user", "lemieux"); mycookie.additem("user", "sakic"); mycookie.additem("user", "pronger"); mycookie.additem("pass", "hockey");
//保存cookies mycookie.save(); } else{ //即使生存cookies,径直加载 //表露cookies的各个子项 for(i=0; i<mycookie.getcookiecount(); i++) { for(j=0; j<mycookie.getcount(mycookie.fetch(i)); j++) alert(mycookie.fetch(i)+"="+mycookie.getitem(mycookie.fetch(i),j)); } }</script>
这种ood的cookies类富裕弹性,可用来百般运用。比方购物卡,登录,浮动窗场所之类。你不妨充溢表现你的设想力。