JavaScript Cookie的读取和写入函数
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>JavaScript与Cookie(一)</title>
</head>
<body>
<form name="frm1" method="post" onsubmit="savecookie()">
<p>CookieMessage:<input type="text" name="cookieInfo" size="50"/></p>
<p>Valid-time:<input type="text" name="time" size="10" value="30"/>Please input a integer.</p>
<div style="border:1px solid #ccc;" id="divInfo"></div>
<p><input type="submit" name="submit" value="Submit">
<input type="reset" name="reset" value="Reset"/></p>
<p><input type="button" onclick="writeAllCookie()" value="writeAllCookie"/></p>
<p><input type="text" name="txtGetSpc"/> <input type="button" value="GetSpecificCookie" onclick="getCk()" </p>
</form>
</body>
</html>
<script language="JavaScript" type="text/javascript">
/*
* 设置Cookie的通用函数,其中name是必须的参数。其它为可选,故用条件语句判断。
* 在设置Cookie时若不设置过期时间则该Cookie为临时的,仅当此次会话可用
*/
function setcookie(name, value, expires, path, domain, secure) {
var curcookie = name + "=" + encodeURI(value)
+((expires) ? ";expires=" + expires.toGMTString() : "")
+((path) ? ";path=" + path : "")
+((domain) ? ";domain=" + domain : "")
+((secure) ? ";secure" : "");
document.cookie = curcookie;
}
//Cookie的写入
function savecookie() {
var cookieInfo = document.frm1.cookieInfo.value;
var time = document.frm1.time.value;
var now = new Date();
now.setDate( now.getDate() + time);
setcookie("myCookie",cookieInfo,now);
document.write(decodeURI(document.cookie));
}
//读取所有Cooke
function writeAllCookie() {
document.cookie = "name1=" + encodeURI("名字1");
document.cookie = "name2=" + encodeURI("名字2");
document.cookie = "name3=" + encodeURI("名字3");
var strInfo;
var cookie = document.cookie.split(";");
for(var i=0; i<cookie.length; i++) {
var ck = cookie[i].split("=");
var cName = ck[0];
var cValue = decodeURI(ck[1]);
strInfo += cName + "=" + cValue +"<br>";
}
document.getElementById("divInfo").innerHTML = strInfo;
}
/*
* 读取特定Cookie的通用函数
*/
function getSpecificCookie(name) {
if(document.cookie.length > 0) {
start = document.cookie.indexOf(name + "=");
if( start != -1) {
start = start + name.length + 1;
end = document.cookie.indexOf(";",start);
if( end == -1) {
end = document.cookie.length;
}
}
return decodeURI(document.cookie.substring(start,end));
}
return "";
}
function getCk(){
name = document.frm1.txtGetSpc.value;
alert( getSpecificCookie(name));
}
</script>