如何在javascript中创建全局cookie?

SIm*_*mon 4 javascript cookies global web

我创建了一个Django网站,需要一个cookie来存储和从网站的任何部分读取.它的javascript在我需要它的每个部分,但由于某种原因,cookie本身单独存储每个页面.例如,如果cookie在一个页面上等于"set",则可能在另一个页面上未定义.这是我用来创建,获取和读取cookie的代码(当按下每个页面上的特定按钮时,调用"createBannerCookie()"方法) -

<script type="text/javascript">
$(document).ready(function() {
  $('#banner').hide();
  checkBannerCookie();
});

function createBannerCookie() 
{
  $('#banner').hide();
  var exdate=new Date();
  exdate.setDate(exdate.getDate() + 3);
  var c_value=escape("set") + ((exdate==null) ? "" : "; expires="+exdate.toUTCString());
  document.cookie='banner=' + c_value;
}

function getCookie(c_name)
{
  var i,x,y,ARRcookies=document.cookie.split(";");
  for (i=0;i<ARRcookies.length;i++)
  {
    x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
    y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
    x=x.replace(/^\s+|\s+$/g,"");
    if (x==c_name)
    {
      return unescape(y);
    }
  }
}

function checkBannerCookie()
{
  var banner=getCookie("banner");
  if (banner!=null && banner!="")
  {
    $('#banner').hide();
  }
  else 
  {
    $('#banner').show();
  }
}
</script>
Run Code Online (Sandbox Code Playgroud)

有什么建议?

uda*_*mik 10

默认情况下,cookie只能与最初创建cookie的网页位于同一目录中的网页访问.请尝试添加"path = /"选项.例如

document.cookie =
  'propertyName=test; path=/'
Run Code Online (Sandbox Code Playgroud)