JavaScript学习笔记-简单的欢迎cookie
0<!DOCT0000YPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8" />
<title>小白学JavaScript</title>
</head>
<body onload="checkCookie()"> <script>
//新建cookie(定义一个方法新建cookie)
function setCookie(cname,cvalue,eadays ) { //设置一个名字为cname,值为cvalue,过期天数为eadays的cookie
var d = new Date(); //定义一个日期对象
d.setTime(d.getTime() + (eadays * 24 * 60 * 60 * 1000)); //设置一个过期时间,getTime() 为获取当前时间 + (eadays天数*24小时*60分钟*60秒*1000毫米)这里是将其换算成毫秒,因为getTime()获取的时间都是毫秒为单位的
var expires = "expires=" + d.toGMTString(); //将获取到的时间转为字符串输出
document.cookie = cname + "=" + cvalue + ";" + expires; //输出cookie cookie名字:cookie值;cookie到期时间
}; //读取cookie(定义一个方法读取cookie)
function getCookie(cname) { //读取名字为cname的cookie
var name = cname + "="; //定义name为cookie名字=
var ca = document.cookie.split(';'); //将cookie以分号;为界将其分割为数组,即为:[cookie名字:cookie值,cookie到期时间]
for (var i = 0; i < ca.length; i++) {
var c = ca[i].trim(); //删除第i个ca字符串首位的空格
if (c.indexOf(name) == 0) return c.substring(name.length, c.length); //如果name在c里首次出现的位置等于0,也就是处于第一个的时候,就返回c下标为(name.length, c.length)的字符
} return ""; //否则返回一个空 }; //自动检测cookie(最后在这里来通过判断来调用决定何时如何调用以上两种方法)
function checkCookie() {
var user = getCookie("username"); //定义调用getCookie()这个方法,并为其赋值username
if (user != "") { //判断,如果这个方法不为空,也就是cookie不为空的时候
alert("Welcome again " + user); //弹出一个欢迎该用户的窗口
} else {
user = prompt("请输入您的名字:", ""); //否则就弹出一个提示用户输入名字的窗口
if (user != "" && user != null) { //判断如果getCookie()这个方法读取到值,不为空和null的时候
setCookie("username", user, 30); //就调用setCookie()这个方法新建一个名为username,值为user,过期天数为30天的cookie
};
};
}; /* 方法解释
split()方法用于把一个字符串分割成字符串数组
var str = "How are you doing today?" document.write(str.split(" ") + "<br />") //显示为:How,are,you,doing,today?
document.write(str.split("") + "<br />") //显示为:H,o,w, ,a,r,e, ,y,o,u, ,d,o,i,n,g, ,t,o,d,a,y,?
document.write(str.split(" ", 3)) //显示为:How,are,you //trim()方法用于删除字符串首部和尾部的空格,但会保留字符串内部作为词与词之间分隔的空格 //indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置 //substring() 方法用于提取字符串中介于两个指定下标之间的字符
var str = "Hello world!" document.write(str.substring(3, 7)) //显示为:lo w */ </script> </body>
</html>
JavaScript学习笔记-简单的欢迎cookie的更多相关文章
- JavaScript学习笔记——简单无缝循环滚动展示图片的实现
今天做了一个简单的无缝循环滚动的实例,这种实例在网页中其实还挺常见的,下面分享一下我的学习收获. 首先,无缝滚动的第一个重点就是——动.关于怎么让页面的元素节点动起来,这就得学明白关于JavaScri ...
- JavaScript学习笔记-简单的倒计时跳转页面
<!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...
- JavaScript学习笔记-简单的计时钟表
<!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...
- Java程序猿JavaScript学习笔记(2——复制和继承财产)
计划和完成在这个例子中,音符的以下序列: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaSc ...
- Java程序猿JavaScript学习笔记(4——关闭/getter/setter)
计划和完成这个例子中,音符的顺序如下: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScr ...
- Java程序猿的JavaScript学习笔记(12——jQuery-扩展选择器)
计划按例如以下顺序完毕这篇笔记: Java程序猿的JavaScript学习笔记(1--理念) Java程序猿的JavaScript学习笔记(2--属性复制和继承) Java程序猿的JavaScript ...
- Javascript学习笔记四——操作表单
Javascript学习笔记 大多网页比如腾讯,百度云之类的需要登陆,用户输入账号密码就可以登陆,那么浏览器是如何获取用户的输入的呢?今天就记录一下操作表单. 操作表单与操作DOM是差不多的,表单本身 ...
- Javascript学习笔记三——操作DOM(二)
Javascript学习笔记 在我的上一个博客讲了对于DOM的基本操作内容,这篇继续巩固一下对于DOM的更新,插入和删除的操作. 对于HTML解析的DOM树来说,我们肯定会时不时对其进行一些更改,在原 ...
- Javascript学习笔记二——操作DOM
Javascript学习笔记 DOM操作: 一.GetElementById() ID在HTML是唯一的,getElementById()可以定位唯一的一个DOM节点 二.querySelector( ...
随机推荐
- Makefile目标,伪目标,头文件自动依赖
目标 即我们最终要生成的文件,make默认生成第一个目标,注意 makefile中tab和空格不是一回事,规则使用tab缩进,编辑器不要设置诸如"将tab替换为空格之类的选项",目 ...
- 关于/etc/hosts文件
1,/etc/hosts,主机名何ip配置文件.hosts---The static table lookup for host name(主机名查询静态表) linux 的/etc/hosts是配置 ...
- jmeter 性能测试 JDBC Request (查询数据库获取数据库数据) 的使用
JDBC Request 这个Sampler可以向数据库发送一个jdbc请求(sql语句),并获取返回的数据库数据进行操作.它经常需要和JDBC Connection Configuration配置原 ...
- 关于TP3.2微信开发那点事(基础篇)
许久没有为博客更新内容,今天我将过去一周做的微信服务号的相关心得体会在此分享,具体如何申请成为服务号的相关流程文档都有,可根据要求完成: 开发第一步:开发前配置: AppID-->微信号的&qu ...
- NOIP2010普及组题解 -SilverN
三国游戏 题目内容不放了 由于电脑总是会拆掉最大的组合,所以玩家最多只能得到数值第二大的组合 那么找出第二大的组合就行了 #include<iostream> #include<cs ...
- 接入Google Play SDK
更新 好消息:Unity5.3添加了google play.Mac .AppStore.windows store的IPA接口,我们做内购日后方便多啦!关于国内渠道的接入,推荐通用SDK平台,比如an ...
- VS的快捷键F12改成和ECLIPSE一样用ctrl+点击下载线
安装resharper 插件即可 不过这个插件是收费的,可免费体验30天
- Unity 实现物体破碎效果(转)
感谢网友分享,原文地址(How to Make an Object Shatter Into Smaller Fragments in Unity),中文翻译地址(Unity实现物体破碎效果) In ...
- APIO2013 tasksauthor
喜闻乐见的提答题,这道题还是蛮有趣的 数据结构题写得心塞,来一道提答意思意思 如果喜欢这类题的话还可以去做做uoj83. 这题是给出了两个问题,一个最短路,一个无向图染色问题. Data 1 Floy ...
- Java手动添加SSL证书
出现错误为 SSLHandshakeException - unable to find valid certification path to requested target 在服务器上找到对应的 ...