JS设置cookie、读取cookie JavaScript是运⾏在客户端的脚本,因此⼀般是不能够设置Session的,因为Session是运⾏在服务器端的。
⽽cookie是运⾏在客户端的,所以可以⽤JS来设置cookie。
js设置cookie⽅法汇总:
第⼀种:
<script>
//设置cookie
function setCookie(cname, cvalue, exdays) {
var d = new Date();
d.Time() + (exdays*24*60*60*1000));
var expires = "expires="+d.toUTCString();
}
//获取cookie
function getCookie(cname) {
var name = cname + "=";
var ca = kie.split(';');
for(var i=0; i<ca.length; i++) {
var c = ca[i];
while (c.charAt(0)==' ') c = c.substring(1);
if (c.indexOf(name) != -1) return c.substring(name.length, c.length);
}
return "";
}
//清除cookie
function clearCookie(name) {
setCookie(name, "", -1);
}
function checkCookie() {
var user = getCookie("username");
if (user != "") {
alert("Welcome again " + user);
} else {
user = prompt("Please enter your name:", "");
if (user != "" && user != null) {
setCookie("username", user, 365);
}
}
}
checkCookie();
</script>
第⼆种:
<script>
//JS操作cookies⽅法!
//写cookies
function setCookie(c_name, value, expiredays){
    var exdate=new Date();
    exdate.Date() + expiredays);
    kie=c_name+ "=" + escape(value) + ((expiredays==null) ? "" : ";expires="+GMTString());
  }
//读取cookies
function getCookie(name)
{
var arr,reg=new RegExp("(^| )"+name+"=([^;]*)(;|$)");
if(kie.match(reg))
return (arr[2]);
else
return null;
}
//删除cookies
function delCookie(name)
{
var exp = new Date();
exp.Time() - 1);
var cval=getCookie(name);
if(cval!=null)
</script>
第三个例⼦
<html>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<head>
<script language="JavaScript" type="text/javascript">
function addCookie(objName, objValue, objHours){//添加cookie
var str = objName + "=" + escape(objValue);
if (objHours > 0) {//为0时不设定过期时间,浏览器关闭时cookie⾃动消失
var date = new Date();
var ms = objHours * 3600 * 1000;
date.Time() + ms);
str += "; expires=" + GMTString();
}
alert("添加cookie成功");
}
function getCookie(objName){//获取指定名称的cookie的值
var arrStr = kie.split("; ");
for (var i = 0; i < arrStr.length; i++) {
var temp = arrStr[i].split("=");
if (temp[0] == objName)
return unescape(temp[1]);
}
}
function delCookie(name){//为了删除指定名称的cookie,可以将其过期时间设定为⼀个过去的时间
var date = new Date();
date.Time() - 10000);
str = "没有保存任何cookie";
}
alert(str);
}
function $(m, n){
return document.forms[m].elements[n].value;
}
function add_(){
var cookie_name = $("myform", "cookie_name");
var cookie_value = $("myform", "cookie_value");
alert怎么读var cookie_expireHours = $("myform", "cookie_expiresHours");
addCookie(cookie_name, cookie_value, cookie_expireHours);
}
function get_(){
var cookie_name = $("myform", "cookie_name");
var cookie_value = getCookie(cookie_name);
alert(cookie_value);
}
function del_(){
var cookie_name = $("myform", "cookie_name");
delCookie(cookie_name);
alert("删除成功");
}
</script>
</head>
<body>
<form name="myform">
<div>
<label for="cookie_name">
名称
</label>
<input type="text" name="cookie_name" />
</div>
<div>
<label for="cookie_value">
</lable>
<input type="text" name="cookie_value" />
</div>
<div>
<label for="cookie_expireHours">
多少个⼩时过期
</lable>
<input type="text" name="cookie_expiresHours" />
</div>
<div>
<input type="button" value="添加该cookie" onclick="add_()"/><input type="button" value="读取所有cookie" onclick="allCookie()"/><input type="button" value="读取该名称cookie" onclick="get_()"/><input type="button" value="删除该名称cookie" onclick="de    </div>
</form>
</body>
</html>
注意:
chrome浏览器在本地获取不到cookie。必须在服务器上才可以。如果是本地的话,你可以放到local的www⽬录下⾯。
Google Chrome只⽀持在线⽹站的cookie的读写操作,对本地html的cookie操作是禁⽌的。所以下⾯的代码如果你写在⼀个本地的html⽂件中,将弹出的对话框内容为空。
kie);
如果这个页⾯是在线⽹站的内容,则会正常显⽰cookie内容Test=cooo等等。
以上所述就是本⽂的全部内容了,希望⼤家能够喜欢。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。