Original: http://www.cnblogs.com/fishtreeyu/archive/2011/10/06/2200280.html
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:
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:
var username=document.cookie.split (";") [0].split ("=") [1];
//js how to operate cookies!
//write 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
function GetCookie (name)
{
var arr,reg=new RegExp ("(^|)" +name+ "= ([^;] *)(;|$)");
if (Arr=document.cookie.match (REG))
Return unescape (arr[2]);
Else
return null;
}
//Delete cookies
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 ();
}
Using the example
Setcookie ("name", "Hayden");
Alert (GetCookie ("name"));
If you need to set a custom expiration time
Then replace the above Setcookie function with the following two functions OK;
Program code
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) * *;
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;
}
}
This is an example of using a set expiration time:
S20 is represented for 20 seconds
H refers to the hour, such as 12 hours: H12
D is the number of days, 30 days: D30
Setcookie ("name", "Hayden", "S20");
Use JS to set cookies, read cookies, delete cookies