这篇文章主要介绍了 js 基于 cookie 记录来宾姓名的方法, 涉及 javascript 使用 cookie 针对方可信息的存储与读取显示相关技巧, 需要的朋友可以参考下
Javascript 是一种由 Netscape 的 LiveScript 发展而来的原型化继承的基于对象的动态类型的区分大小写的客户端脚本语言,主要目的是为了解决服务器端语言,比如 Perl,遗留的速度问题,为客户提供更流畅的浏览效果。
本文实例讲述了 js 基于 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>无标题文档</title>
- <script language="JavaScript">
- <!-- Begin
- var expDays = 30;
- var exp = new Date();
- exp.setTime(exp.getTime() + (expDays*24*60*60*1000));
- function Who(info){
- var VisitorName = GetCookie('VisitorName')
- if (VisitorName == null) {
- VisitorName = prompt("您的尊姓大名:");
- SetCookie ('VisitorName', VisitorName, exp);
- }
- return VisitorName;
- }
- function When(info){
- var rightNow = new Date()
- var WWHTime = 0;
- WWHTime = GetCookie('WWhenH')
- WWHTime = WWHTime * 1
- var lastHereFormatting = new Date(WWHTime);
- var intLastVisit = (lastHereFormatting.getYear() * 10000)+(lastHereFormatting.getMonth() * 100) + lastHereFormatting.getDate()
- var lastHereInDateFormat = "" + lastHereFormatting;
- var dayOfWeek = lastHereInDateFormat.substring(0,3)
- var dateMonth = lastHereInDateFormat.substring(4,11)
- var timeOfDay = lastHereInDateFormat.substring(11,16)
- var year = lastHereInDateFormat.substring(23,25)
- var WWHText = dayOfWeek + ", " + dateMonth + " at " + timeOfDay
- SetCookie ("WWhenH", rightNow.getTime(), exp)
- return WWHText
- }
- function Count(info){
- var WWHCount = GetCookie('WWHCount')
- if (WWHCount == null) {
- WWHCount = 0;
- }
- else{
- WWHCount++;
- }
- SetCookie ('WWHCount', WWHCount, exp);
- return WWHCount;
- }
- function set(){
- VisitorName = prompt("Who are you?");
- SetCookie ('VisitorName', VisitorName, exp);
- SetCookie ('WWHCount', 0, exp);
- SetCookie ('WWhenH', 0, exp);
- }
- function getCookieVal (offset) {
- var endstr = document.cookie.indexOf (";", offset);
- if (endstr == -1)
- endstr = document.cookie.length;
- return unescape(document.cookie.substring(offset, endstr));
- }
- function GetCookie (name) {
- var arg = name + "=";
- var alen = arg.length;
- var clen = document.cookie.length;
- var i = 0;
- while (i < clen) {
- var j = i + alen;
- if (document.cookie.substring(i, j) == arg)
- return getCookieVal (j);
- i = document.cookie.indexOf(" ", i) + 1;
- if (i == 0) break;
- }
- return null;
- }
- function SetCookie (name, value) {
- var argv = SetCookie.arguments;
- var argc = SetCookie.arguments.length;
- var expires = (argc > 2) ? argv[2] : null;
- var path = (argc > 3) ? argv[3] : null;
- var domain = (argc > 4) ? argv[4] : null;
- var secure = (argc > 5) ? argv[5] : false;
- document.cookie = name + "=" + escape (value) +
- ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
- ((path == null) ? "" : ("; path=" + path)) +
- ((domain == null) ? "" : ("; domain=" + domain)) +
- ((secure == true) ? "; secure" : "");
- }
- function DeleteCookie (name) {
- var exp = new Date();
- exp.setTime (exp.getTime() - 1);
- var cval = GetCookie (name);
- document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
- }
- // End -->
- </script>
- </head>
- <body>
- 提示: 在第一次来到本页时提醒你输入你的姓名,以后就不用了,它会每次在你来时告诉你是第多少次来,并且注明上次来本页的时间<br/>
- <script language="JavaScript">
- if (Count()==0)
- {
- document.write("您好!" + Who() + ". 您首次来这儿,请多提宝贵意见.");
- }
- else
- {
- document.write("您好!" + Who() + ". 您已来这儿 " + Count() + "次了,最后一次在 " + When() +".");
- }
- </script>
- </body>
- </html>
希望本文所述对大家 JavaScript 程序设计有所帮助。
来源: http://www.phperz.com/article/17/0306/264199.html