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 the code code 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
123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
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"
); Translated from: https://www.cnblogs.com/endv/p/8089506.html |
JS set cookies, read cookies, delete cookies