编写使用cookie改变页面跳转 cookie丢失背景颜色的主要代码

您所在的位置: &
JS跨域设置和取Cookie
JS跨域设置和取Cookie
cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值。本文主要JS怎样读取Cookie以及域的设置。
在Javascript脚本里,一个cookie 实际就是一个字符串属性。当你读取cookie的值时,就得到一个字符串,里面当前WEB页使用的所有cookies的名称和值。每个cookie除了 name名称和value值这两个属性以外,还有四个属性。这些属性是: expires过期时间、 path路径、 domain域、以及 secure安全。
Expires & 过期时间。指定cookie的生命期。具体是值是过期日期。如果想让cookie的存在期限超过当前浏览器会话时间,就必须使用这个属性。当过了到期日期时,浏览器就可以删除cookie文件,没有任何影响。
Path & 路径。指定与cookie关联的WEB页。值可以是一个目录,或者是一个路径。如果/devhead /index.html 建立了一个cookie,那么在/devhead/目录里的所有页面,以及该目录下面任何子目录里的页面都可以 访问这个cookie。这就是说,在/devhead/stories/articles 里的任何页面都可以访问/devhead/index.html建立的cookie。但是,如果http: ///zdnn/ 需要访问/devhead/index.html设置的cookes,该怎么办?这时,我们要把cookies 的path属性设置成&/&。
在指定路径的时候,凡是来自同一服务器,URL里有相同路径的所有WEB页面都可以共享cookies。现在看另一个例子: 如果想让 /devhead/filters/ 和/devhead/stories/共享cookies,就要把path设成&/devhead&。
Domain & 域。指定关联的WEB服务器或域。值是域名,比如。这是对path路径属性的一个延伸。如果我们想让
能够访问设置的cookies,该怎么办? 我们可以把domain属性设置成&&,并把path属性设置成&/&。不能把cookies域属性设置成与设置它的服务器的 所在域不同的值。
Secure & 安全。指定cookie的值通过网络如何在用户和WEB服务器之间传递。这个属性的值或者是&secure&,或者为空。缺省情况下,该属性为空,也就是 使用不安全的HTTP连接传递数据。如果一个 cookie 标记为secure,那么,它与WEB服务器之间就通过HTTPS或者其它安全协议传递数据。不过,设置了secure属性不代表其他人不能看到你机器本 地保存的cookie。换句话说,把cookie设置为secure,只保证cookie与WEB服务器之间的数据传输过程加密,而保存在本地的 cookie文件并不加密。如果想让本地cookie也加密,得自己加密数据。
例:和两个站,建立方式如下:
站下建a.html。关键代码如下:
&script&type=&text/javascript&& &function&setCookie(c_name,value,expiredays)&{ &var&exdate=new&Date(); &exdate.setDate(exdate.getDate()+expiredays); &alert(exdate.getDate()+expiredays); &document.cookie=c_name+&&=&&+escape(value)+((expiredays==null)&?&&&&:&&;expires=&+exdate.toGMTString())+&;path=/;&; &} &window.onload=function(){ &setCookie(&listallwjh&,&sfwjh&); &alert(&Cookie设置成功!&); &} &&/script&&
站下建a.html。关键代码如下
&script& &function&getCookie(c_name)&{ &if&(document.cookie.length&0) &{ &c_start=document.cookie.indexOf(c_name&+&&=&); &if&(c_start!=-1) &{& &c_start=c_start&+&c_name.length+1&; &c_end=document.cookie.indexOf(&;&,c_start); &if&(c_end==-1)&c_end=document.cookie. &return&unescape(document.cookie.substring(c_start,c_end)); &}& &} &return&&&; &} &window.onload=function(){ &var&c_name=&listallwjh&; &if(getCookie(&listallwjh&)!=null){ &alert(getCookie(&listallwjh&)); &} &} &&/script&&
这两个一个也面是设置,一个是取,只要保证两个规则一样,就行。运行,结果:OK!
注:这两个方法有时候也可以写在一起,先判断cookie是否存在,在创建。
友情资料:
一、浏览器允许每个域名所包含的 cookie 数:Microsoft 指出 Internet Explorer 8 增加 cookie 限制为每个域名 50 个,但 IE7 似乎也允许每个域名 50 个 cookie( color=&#006da3&&《Update to Internet Explorer&s Cookie Jar》)。
Firefox 每个域名 cookie 限制为 50 个。Opera 每个域名 cookie 限制为 30 个。Safari/WebKit 貌似没有 cookie 限制。但是如果 cookie 很多,则会使 header 大小超过服务器的处理的限制,会导致错误发生。注:每个域名 cookie 限制为 20 个将不再正确!
二、当很多的 cookie 被设置,浏览器如何去响应。除 (可以设置全部cookie,不管数量多少),有两个方法:最少最近使用(least recently used (LRU))的方法:当 Cookie 已达到限额,自动踢除最老的 Cookie ,以使给最新的 Cookie 一些空间。 Internet Explorer 和 Opera 使用此方法。
Firefox 很独特:虽然最后的设置的 Cookie 始终保留,但似乎随机决定哪些 cookie 被保留。似乎没有任何计划(建议:在 Firefox 中不要超过 Cookie 限制)。
三、不同浏览器间 cookie 总大小也不同:Firefox 和 Safari 允许 cookie 多达 4097 个字节, 包括名(name)、值(value)和等号。Opera 允许 cookie 多达 4096 个字节, 包括:名(name)、值(value)和等号。Internet Explorer 允许 cookie 多达 4095 个字节, 包括:名(name)、值(value)和等号。注:多字节字符计算为两个字节。在所有浏览器中,任何 cookie 大小超过限制都被忽略,且永远不会被设置。
当访问者首次访问页面时,他或她也许会填写他/她们的名字。名字会存储于 cookie 中。当访问者再次访问网站时,他们会收到类似 &Welcome John Doe!& 的欢迎词。而名字则是从 cookie 中取回的。这就是Cookie,希望本文能帮助到你。
【编辑推荐】
【责任编辑: TEL:(010)】
关于&&的更多文章
又是一周匆匆而过。上周五、周六两天,2013年51CTO云计算架构师
所以姑娘,让我们做一枚花见花开的程序媛。
、27日,在美国圣何塞举行的Hadoop Summit
首先给大家说说小编一直在玩的游戏--植物大战僵尸。前
外行说“大数据”、内行用“大数据”。不知道大数据,
本书共有14章,每章都介绍了几个设计模式,完整地涵盖了四人组版本全部23个设计模式。前言先介绍这本书的用法;第1章到第11章陆
51CTO旗下网站(window.slotbydup=window.slotbydup || []).push({
id: '2014386',
container: s,
size: '234,60',
display: 'inlay-fix'
下载本文档需要登录,并付出相应积分。()
(已有0人评价)
下载:1次格式:ppt页数:203贡献者:Marypassino上传时间: 15:04
所需积分:(友情提示:所有文档均可免费全文预览!下载之前请务必先预览阅读,以免误下载造成积分浪费!)
(多个标签用逗号分隔)
文不对题,内容与标题介绍不符
广告内容或内容过于简单
文档乱码或无法正常显示
若此文档涉嫌侵害了您的权利,请参照说明。

我要回帖

更多关于 js cookie跨页面传值 的文章

 

随机推荐