使用Javascript变量设置cookie域

时间:2010-10-15 11:03:23

标签: javascript jquery

我使用jQuery从页面的HTML中获取域名:

domainUrl = $("p.domain").text();

用于测试目的:

<p class="domain">.vl3.co.uk</p>

这也是我测试脚本的域名。

然后提供包含正确域名的警报:

alert(domainUrl);

我想使用该变量在cookie中设置域:

set_cookie('visible', 'no', 2020, 1, 1, '/', '+domainUrl+');

这是设置cookie功能:

function set_cookie ( name, value, exp_y, exp_m, exp_d, path, domain, secure ) {
  var cookie_string = name + "=" + escape ( value );
  if ( exp_y ) {
    var expires = new Date ( exp_y, exp_m, exp_d );
    cookie_string += "; expires=" + expires.toGMTString();
  }
  if ( path )
    cookie_string += "; path=" + escape ( path );
  if ( domain )
    cookie_string += "; domain=" + escape ( domain );
  if ( secure )
    cookie_string += "; secure";
  document.cookie = cookie_string;
}

为什么cookie域没有设置?

我认为问题是如何在设置cookie时使用domainUrl变量?

2 个答案:

答案 0 :(得分:4)

它应该是: set_cookie('visible','no',2020,1,1,'/',domainUrl);

请尝试这个扩展,它有效,它包含所有:

http://plugins.jquery.com/project/Cookie

然后你只需写:

$.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com' });

答案 1 :(得分:0)

使用jquery附件库

我认为这是使用jQuery获取和设置cookie的最佳方式:

// cookie [writes and reads cookies]

//set cookie
$.cookie('kittencookie', 'fluffy', {expires : 7});

//get cookie
var kittenCookieValue = $.cookie('kittencookie');

有关详细信息,请参阅documentation