知识大全 初学Javascript之cookie篇(译)
Posted 知
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 初学Javascript之cookie篇(译)相关的知识,希望对你有一定的参考价值。
初学Javascript之cookie篇(译) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
[译者注 将本文的最后示例代码拷贝至文本文件中 更名文件为格式文件 在浏览器中运行 本文以该示例代码讲解]
简介
====================================
问题是我想解决自动访问 这个页面能够限制你每一天只访问它一次(不要忘记在这链接上点击) 现在为止 每次一开始我做的第一件事就是手工选择我的书签加载这个页面
为什么不为它创建一个简单的脚本程序呢? 因为我想让它在Netscape和IE下都能够同样的工作 我开始学习Javascript
解决
====================================
主题思想很简单 创建一个页面并测试一下今天这个页面是否已被加载过 如果没有加载 那就通过它链接到 并且设置 这个页面作为浏览器的主页
获取页面并重定向是很容易的 问题是如何记忆这个页面已被访问过
因为Javascript没有文件访问的功能 看来我们只能使用cookies了
Cookies是一个有大小限制的变量 它与一个服务器的域名相关联 默认情况下cookie的生存期是当浏览器关闭时被清空(注意 不是当你离开 这个页面的时候) 但可以用一个脚本程序改变这种情况 在用户关闭浏览器后使cookies能够存储下来 Netscape在文件中使用所有的 Cookie 而IE分别存储每个cookie 此外 不同的浏览器会带来一些意想 不到的情况 你必须确定一个用户在它的浏览器设置中是否关闭了cookies
一切都很好也很妙 只是现在我还未在IE中测试它 调用示例Javascript语句 cookieExpires = APR + nLyear + GMT ; okies = cookieName + = + cookieValue + ; expires= + cookieExpires;
然后调用 document write(okie);
okie是空的
在试验和研究了一下上面的示例程序后 会发现
你不能够读和显示cookie 如果你想看一下这个cookie你需要指定与它相同的另一个字符串变量 如下 okie = cookieName + = + cookieValue + ; expires= + cookieExpires; myvar = cookieName + = + cookieValue + ; expires= + cookieExpires; document write(myvar);
浏览器用了不同的日期格式 Netscape使用 GMT 结束 IE使用 UTC 这是因为它可以更好的构建一个日期 象下面这样 var expdate = new Date() cookieExpires setTime (expdate getTime() + * ( * * * )) //+ day cookieExpires toGMTString()
当你显示日期部分 document write(expdate getYear() + <br> + expdate getMonth() + <br> + expdate getDate()); 对于 的日期 在IE中显示为 / / 在Netscape下显示 / / (注 已确定是一些较低版本的 Netscape 浏览器的Y K问题)
示例中看到像下面这样的部分 if (platform == Mac ) lastVisit = lastVisit ( * * * ) 但我不可能检测它
日期对象有getDate和getDay的方法 第二个方法返回在一周中天的索引号
知道了这些 基本上就没问题了(现在你可以看一下)
[译者注 将本文的最后示例代码拷至文本文件中并保存格式 然后运行]
最后要说明的是 这不仅是一个专用的JS脚本 如果你想将它用在你的web页面上你必须最小程度的使用不同的浏览器测试它并注意它们的版本 许多的脚本程序包含了浏览器类型检测和大量的if else语句 以处理这样不同
示例页面源代码
<> <head> <title>Homepage</title> </head> <body> <a >Manual redirection<br></a> <a javascript:ResetCookie() >Cookie reset</a>
<script language= JavaScript > <! var bVisitedToday = false;
var lastVisit = GetCookie( lastVisit ); if (lastVisit != null) lastVisit = * lastVisit; var lastHere = new Date(lastVisit); var rightNow = new Date();
if(lastHere getYear() == rightNow getYear() && lastHere getMonth() == rightNow getMonth() && lastHere getDate() == rightNow getDate()) bVisitedToday = true;
if(bVisitedToday == false) setLastlastVisitCookie(); window location= else //window location= about:blank
cha138/Article/program/Java/JSP/201311/19761相关参考
20条常见的编码陷阱之JavaScript篇 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 不管
知识大全 JavaScript基础篇之变量作用域、传值、传址的简单介绍与实例
JavaScript基础篇之变量作用域、传值、传址的简单介绍与实例 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一
javascript读写Cookie函数 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 日前看到
知识大全 jsp 与 javascript 中文cookie交互
兼容性考虑使用了utf编码测试通过支持IE及Firefox jsp写入中文Cookie<%@pagecontentType=text/;charset=utfpageEncod
JavaScript初学者应注意的七个细节 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 
知识大全 Turbine Howto 之 Action Event [译]
TurbineHowto之ActionEvent[译] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧
知识大全 asp.net+cookie+javascrip制作的购物车三
()首先介绍一下javascript操作cookie的基础 //去除空格回车 &nb
Hibernate初学之优缺点 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  
Hibernate初学之一对多、多对一关系模型 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 举
在地址栏输入JavaScript语句 JavaScript:Documentwrite(显示文字) 将JavaScript嵌入HTML文档 <scriptlanguage=JavaSc