JavaScript is a script that runs on the client, so it is generally not possible to set the session because the session is running on the server side.
The cookie is run on the client, so you can use JS to set the cookie.
Suppose there is a case, in a use case process, a page jumps to page B, if the a page with the variable temp Save the value of a variable, in the B page, also need to use JS to reference the variable value of temp, for JS in the global variable or static variable life cycle is limited, When a page jump occurs or the page closes, the values of these variables are re-loaded, that is, the saved effect is not achieved. The best solution to this problem is to use a cookie to hold the value of the variable, so how do you set and read the cookie?
First, we need to understand a little bit about the structure of the cookie, simply: The cookie is stored in the form of a key-value pair, the Key=value format. Each cookie is generally ";" Separated.
JS Settings Cookie:
Suppose you want to save the value of the variable username ("Jack") in the a page to the cookie, the key value is name, then the corresponding JS code is:
Copy CodeThe code is as follows:
Document.cookie= "Name=" +username;
JS Read Cookie:
Assume that the content stored in the cookie is: name=jack;password=123
The JS code that gets the value of the variable username in the B page is as follows:
?
12345678910 |
var username=document.cookie.split(
";"
)[0].split(
"="
)[1];
//JS操作cookies方法!
//写cookies
function setCookie(name,value)
{
var Days = 30;
var exp =
new Date();
exp.setTime(exp.getTime() + Days*24*60*60*1000);
document.cookie = name +
"="
+ escape (value) +
";expires=" + exp.toGMTString();
}
|
Read cookies
?
12345678 |
function getCookie(name) { var arr,reg= new RegExp( "(^| )" +name+ "=([^;]*)(;|$)" ); if (arr=document.cookie.match(reg)) return unescape(arr[2]); else return null ; } |
Delete Cookies
?
1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
function delCookie(name)
{
var exp =
new Date();
exp.setTime(exp.getTime() - 1);
var cval=getCookie(name);
if
(cval!=
null
)
document.cookie= name +
"="
+cval+
";expires="
+exp.toGMTString();
}
//使用示例
setCookie(
"name"
,
"hayden"
);
alert(getCookie(
"name"
));
//如果需要设定自定义过期时间
//那么把上面的setCookie 函数换成下面两个函数就ok;
//程序代码
function setCookie(name,value,time)
{
var strsec = getsec(time);
var exp =
new Date();
exp.setTime(exp.getTime() + strsec*1);
document.cookie = name +
"="
+ escape (value) +
";expires=" + exp.toGMTString();
}
function getsec(str)
{
alert(str);
var str1=str.substring(1,str.length)*1;
var str2=str.substring(0,1);
if (str2==
"s"
)
{
return str1*1000;
}
else if (str2==
"h"
)
{
return str1*60*60*1000;
}
else if (str2==
"d"
)
{
return str1*24*60*60*1000;
}
}
//这是有设定过期时间的使用示例:
//s20是代表20秒
//h是指小时,如12小时则是:h12
//d是天数,30天则:d30
setCookie(
"name"
,
"hayden"
,
"s20"
);
|
JS set cookies, read cookies, delete cookies