"[# of cookies] from other sites"是什么意思,如何更改/修复它?



最近,我一直在努力弄清楚如何在JS/HTML程序中实现cookie,但无论出于何种原因,它就是不会。工作。我看了一下w3schools的教程,得到了如何从cookie中创建和读取值的公认答案。我在记事本中编辑文件(我知道,这是一种非常原始的编辑软件),然后用.html扩展名保存文件,以便在浏览器中运行它。但是当我这样做时,浏览器识别cookie,但说它们来自其他网站。"这些cookie在关闭和重新打开页面后不会保存,并且无法使用document.cookies

加载。我的代码是

var canvas = document.getElementById("canvas");
var processing = new Processing(canvas, function(processing) {
  processing.size(400, 400);
  processing.background(0xFFF);
  with(processing) {
    var createCookie = function(name, value, days) {
      var expires;
      if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        expires = "; expires=" + date.toGMTString();
      } else {
        expires = "";
      }
      document.cookie = name + "=" + value + expires + "; path=/";
    };
    function getCookie(c_name) {
      if (document.cookie.length > 0) {
        c_start = document.cookie.indexOf(c_name + "=");
        if (c_start != -1) {
          c_start = c_start + c_name.length + 1;
          c_end = document.cookie.indexOf(";", c_start);
          if (c_end == -1) {
            c_end = document.cookie.length;
          }
          return unescape(document.cookie.substring(c_start, c_end));
        }
      }
      return "";
    };
    createCookie("startup", "true", 365 * 3);
    var cookieNum = 1;
    mousePressed = function() {
      createCookie("cookie" + cookieNum, "value", 365 * 3);
      cookieNum++;
    };
  }
  if (typeof draw !== 'undefined') processing.draw = draw;
});
<canvas id="canvas"></canvas>

从上面的注释链(可能比它应该的要长)中的信息中,我已经能够收集到关于我的问题的以下信息:

  • 我的cookie没有被识别,因为页面是从我的本地存储运行的,没有服务器。
  • 为了使cookie被识别,服务器需要运行,无论是在网络上还是在机器上。
  • 可以在本地运行的服务器包括IIS和WAMP。

感谢Barmar提供的信息

最新更新