随笔 - 1330  文章 - 1  评论 - 376  0

这是掌握cookie最后的一个障碍:缺省情况下cookie只能被在
同一个Web服务器上同一个路径下设置了该cookie的网页读取.
例如,如果在
"http://chimp.webmonkey.com/food/bananas/banana_puree.htm"
有一段Javascript询问了用户的姓名,你可能需要在你的另一
个网页例如主页中访问一个给定的名字.所以你必须设定该
cookie的路径.路径"path"用于设置可以读取一个cookie的最
顶层的目录.将cookie的路径设置为你的网页最顶层的目录可
以让该该目录下的所有网页都能访问该cookie.

方法:在你的cookie中加入path=/; 如果你只想让"food" 目录
中的网页可以使用该cookie,则你加入path=/food;.还有一点:
有些网站有许多小的域名,例如网猴可能还在
"chimp.webmonkey.com," "gorilla.webmonkey.com," 和
"ape.webmonkey.com." 域名下有网页.缺省情况下只有
"chimp.webmonkey.com" 域下的网页可以读取该cookie.如果
你向让"webmonkey.com"下的所有机器都可以读取该cookie,我
们必须在cookie中加入 "domain=webmonkey.com" .

要将一个cookie设置在
"http://chimp.webmonkey.com/food/bananas/banana_puree.htm"
并且让所有网猴的网页都可以利用它,我们可以这样:

代码
function setCookie()

{

    
var the_name = prompt("What's your name?","");

    
var the_cookie ="cookie_puss=" + escape(the_name) + ";" ;

    
var the_cookie = the_cookie+ "path=/;";

    
var the_cookie = the_cookie + "domain=webmonkey.com;";


    document.cookie 
=the_cookie;

}

 

 

 

现在我们已经学习完了cookie的内容.希望你能够多加练习。
====================================================

    cookie虽然是由一个网页所创建,但并不只是创建cookie的网页才能读取该cookie。在默认情况下,与创建cookie的网页在同一目录或子目录下的所有网页都可以读取该cookie。但如果在这个目录下还有子目录,要使在子目录中也可以访问,则需要使用path参数设置cookie,语法如下:
document.cookie="name=value; path=cookieDir";
如果要使cookie在整个网站下可用,可以将cookieDir指定为根目录,示例如下:
document.cookie="userId=320; path=/";
上面所说都指的是在同一个目录中的访问,可是要想在不同虚拟目录中访问则要另外想办法来解决这个问题。但是path不能解决在不同域中访问cookie的问题。在默认情况下,只有和设置cookie的网页在同一个Web服务器的网页才能访问该网页创建的cookie。但可以通过domain参数来实现对其的控制,其语法格式如下:
document.cookie="name=value; domain=cookieDomain";
如下面这段代码,就演示了怎样设置cookie路径和域。

代码
    <script lnguage="javascript">                    //JavaScript代码开始标签
    function setCookie()                             //自定义函数
    {
        
var the_name = prompt("请输入要设的cookie的值,"");                                                                        //一个信息框
        var the_cookie =
"cookie_puss=" + escape(the_name) + ";" ;                                                                //编写cookie的键与值
        var the_cookie = the_cookie+ 
"path=/;";        //设置cookie的路径
        var the_cookie = the_cookie + "domain=localhost;";                                                                        //设置cookie的域
        document.cookie =the_cookie;                //将这些信息写入cookie变量中去
        alert("设置成功!")                          //最后提示用户设置成功
    }
    setCookie();                                    
//调用函数
    </script>

 



注意:在使用时一定要注意路径的设置方法,若路径信息有误将无法访问。

posted on 2009-03-09 09:58 钱途无梁 阅读(...) 评论(...) 编辑 收藏