JS Cookie存取值 和 域(domain)
阿新 • • 發佈:2019-01-24
JS Cookie存取值 和域(domain)
程式碼附上:
<script type="text/javascript">
//Cookie取值
function readCookie (name)
{
var cookieValue = "";
var search = name + "=";
if (document.cookie.length > 0)
{
offset = document.cookie.indexOf (search);
if (offset != -1)
{
offset += search.length;
end = document.cookie.indexOf (";", offset);
if (end == -1)
end = document.cookie.length;
cookieValue = unescape (document.cookie.substring (offset, end))
}
}
return cookieValue;
}
//Cookie設定值
function writeCookie (name, value, hours)
{
var expire = "";
if (hours != null)
{
expire = new Date ((new Date ()).getTime () + hours * 3600000);
expire = "; expires=" + expire.toGMTString ();
}
document.cookie = name + "=" + escape (value) + expire;
}
//呼叫設定
writeCookie ("myCookie", "my name", 24);
//呼叫取值
alert (readCookie ("myCookie"));
</script>
JS 中Cookie的路徑(path)和域(domain)
cookie雖然是由一個網頁所建立,但並不只是建立cookie的網頁才能讀 取該cookie。
在預設情況下,與建立cookie的網頁在同一目錄或子目錄下的所有網頁都可以讀取該cookie。
1、如果在這個目錄下還有子目錄,要 使在子目錄中也可以訪問,則需要使用path引數設定cookie,語法如下:
document.cookie="name=value; path=cookieDir";
2、如果要使cookie在整個網站下可用,可以將cookieDir指定為根目錄,示例如下:
document.cookie="userId=320; path=/";
上面所說都指的是在同一個目錄中的訪問,可是要想在不同虛擬目錄中訪問則要另外想辦法來解決這個問題。
但是path不能解決在不同域中訪問cookie的 問題。
在預設情況下,只有和設定cookie的網頁在同一個Web伺服器的網頁才能訪問該網頁建立的cookie。
但可以通過domain引數來實現對其 的控制,其語法格式如下:
document.cookie="name=value; domain=cookieDomain";
具體程式碼如下,直接執行即可:
(1)設定路徑:
<html>
<head>
<title>設定cookie的路徑</title>
<script>
new Date().setDate(now.getDate()+1);
var cookies="userName="+escape("哈哈")+";expires="+now.toString()+";path=/";
document.cookie=cookies;
document.write("cookie檔案中的內容為:<br>",unescape(document.cookie));
</script>
</head>
<body></body>
</html>
(2)設定域:
<html>
<head>
<title>設定cookie的路徑</title>
<scrip>
new Date().setDate(now.getDate()+1);
var cookies="userName="+escape("哈哈")+";expires="+now.toString()+";path=/; domain=.baidu.com";
document.cookie=cookies;
document.write("cookie檔案中的內容為:<br>",unescape(document.cookie));
</script>
</head>
<body></body>
</html>