javascript - 如何在 javascript 中创建全局 cookie?

标签 javascript cookies web global

我创建了一个 Django 网站,需要一个 cookie 来存储并可从网站的任何部分读取。它的 javascript 在我需要的每个部分都有,但出于某种原因,cookie 本身是为每个页面单独存储的。例如。如果 cookie 在一个页面上等于“设置”,则在另一个页面上可以取消定义。这是我用来创建、获取和读取 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>

有什么建议吗?

最佳答案

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

document.cookie =
  'propertyName=test; path=/'

关于javascript - 如何在 javascript 中创建全局 cookie?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11868745/

相关文章:

cookies - mediawiki cookie 的问题

linux - 我如何检查两个文件夹在 linux 中是否相同

javascript - 如何获取 Paho 的最后 5 条消息?

javascript - 从正则表达式中删除逗号

python - 如何在 Python 的 HTTP header 中设置和检索 cookie?

javascript - 用于检索 json 数据的 Angular Controller

javascript - 刷新时维护表单元素状态

html - 此页脚文本的颜色设置在哪里?

javascript - 在不影响 UI 的情况下将外部几何图形加载到 Three.js 中的最佳和最快方法是什么

javascript - React 渲染 Bootstrap 网格单元格中的对象数组