初学javascript之cookie篇(译)

lifeLV520

lifeLV520

2016-01-29 11:34

初学javascript之cookie篇(译),初学&#106avascript之cookie篇(译)
 

 [译者注:将本文的最后示例代码拷贝至文本文件中,更名文件为homepage.htm格式文件,在浏览器中运行,本文以该示例代码讲解


  简介

  ====================================

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com)

  问题是我想解决自动访问http://www.thehungersite.com。这个页面能够限制你每一天只访问它一次(不要忘记在这链接上点击)。
  现在为止,每次一开始我做的第一件事就是手工选择我的书签加载这个页面。

  为什么不为它创建一个简单的脚本程序呢?
  因为我想让它在Netscape和IE下都能够同样的工作,我开始学习Javascript。

  解决

  ====================================

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com)

  主题思想很简单:创建一个页面并测试一下今天这个页面是否已被加载过,
  如果没有加载,那就通过它链接到http://www.thehungersite.com,并且设置
  这个页面作为浏览器的主页。

  获取页面并重定向是很容易的,问题是如何记忆这个页面已被访问过。

  因为Javascript没有文件访问的功能,看来我们只能使用cookies了。

  Cookies是一个有大小限制的变量,它与一个服务器的域名相关联,
  默认情况下cookie的生存期是当浏览器关闭时被清空(注意:不是当你离开
  这个页面的时候),但可以用一个脚本程序改变这种情况,
  在用户关闭浏览器后使cookies能够存储下来,Netscape在文件中使用所有的
  Cookie,而IE分别存储每个cookie。此外,不同的浏览器会带来一些意想
  不到的情况,你必须确定一个用户在它的浏览器设置中是否关闭了cookies。

  一切都很好也很妙,只是现在我还未在IE中测试它,调用示例Javascript语句:
  cookieExpires = "01-APR-" + nLyear + " GMT";
  document.cookies = cookieName + "=" + cookieValue + ";  expires=" + cookieExpires;

  然后调用
  document.write(document.cookie);

  document.cookie是空的。

  在试验和研究了一下上面的示例程序后,会发现:

  1。你不能够读和显示cookie。如果你想看一下这个cookie你需要指定与它相同的另一个字符串变量,如下:
   document.cookie = cookieName + "=" + cookieValue + "; expires=" + cookieExpires;
   myvar = cookieName + "=" + cookieValue + "; expires=" + cookieExpires;
   document.write(myvar);

  2. 浏览器用了不同的日期格式:
    Netscape使用"GMT"结束,IE使用“UTC",这是因为它可以更好的构建一个日期,象下面这样:
      var expdate = new Date()
   cookieExpires.setTime (expdate.getTime() + 1 * (24 * 60 * 60 * 1000)) //+1 day
   cookieExpires.toGMTString()

   当你显示日期部分
   document.write(expdate.getYear() + "<br" + expdate.getMonth() + "<br" + expdate.getDate());
   对于2000-11-15的日期,在IE中显示为2000/10/15,在Netscape下显示100/10/15(注:已确定是一些较低版本的
   Netscape 浏览器的Y2K问题)

   示例中看到像下面这样的部分:
   if (platform == "Mac") {
   lastVisit = lastVisit - (24 * 60 * 60 * 1000)
   }
   但我不可能检测它。

  日期对象有getDate和getDay的方法,第二个方法返回在一周中天的索引号。

----------------------------------------
  知道了这些,基本上就没问题了(现在你可以看一下homepage.htm)

[译者注:将本文的最后示例代码拷至文本文件中并保存htm格式,然后运行]

  最后要说明的是,这不仅是一个专用的JS脚本,如果你想将它用在你的web页面上你必须最小程度的使用不同的浏览器测试它并注意它们的版本,许多的脚本程序包含了浏览器类型检测和大量的if...else语句,以处理这样不同。

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com)

  示例页面homepage.htm源代码

  <html
  <head
  <titleHomepage</title
  </head
  <body
  <a href='http://www.thehungersite.com/'Manual redirection<br</a
  <a href="javascript:ResetCookie()"Cookie reset</a

  <script language="JavaScript"
  <!--
  var

展开更多 50%)
分享

猜你喜欢

初学javascript之cookie篇(译)

电脑网络
初学javascript之cookie篇(译)

初学Javascript之cookie篇(译)

Web开发
初学Javascript之cookie篇(译)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

网页常用小技巧—javascript篇

电脑网络
网页常用小技巧—javascript篇

javascript设计漫天雪花

电脑网络
javascript设计漫天雪花

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

初学Javascript之cookie篇(2)

电脑网络
初学Javascript之cookie篇(2)

加快图片显示(javascript)

ASP
加快图片显示(javascript)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

js控制excel打印完美解决方案

js控制excel打印完美解决方案

《噬神者2 狂怒解放》高手进阶向子弹深度研究

《噬神者2 狂怒解放》高手进阶向子弹深度研究
下拉加载更多内容 ↓