1. 程式人生 > >JS Cookie存取值 和 域(domain)

JS Cookie存取值 和 域(domain)

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>