9

如何file:///使用 Javascript 或 jQuery 读取/写入本地 HTML 文档的 cookie?

我试过这个>>

function setCookie(c_name, value, exdays)
{
  var exdate = new Date();
  exdate.setDate(exdate.getDate() + exdays);
  var c_value = escape(value) + 
    ((exdays == null) ? "" : "; expires=" + exdate.toUTCString());
  document.cookie = c_name + "=" + 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);
    }
  }
}

但它不起作用。

4

5 回答 5

11

这取决于您的浏览器。Chrome 例如不允许本地文件的 cookie。请参阅:本地 HTML 文件的 cookie 保存位置

于 2012-10-20T20:50:53.487 回答
4

这将在本地工作


// save data value

localStorage.setItem("name", "John");

// retrieve data value

var name = localStorage.getItem("name");

原始答案。

于 2019-07-31T14:13:56.670 回答
0

试试这个:

https://github.com/carhartl/jquery-cookie

如果您需要存储多个值,请尝试以下操作:

https://github.com/tantau-horia/jquery-SuperCookie

于 2012-10-20T20:51:49.320 回答
0

作为从文件加载页面的替代方法,您可以运行网络服务器并从 localhost 加载页面。Apache 带有 OSX 和 Ubuntu。设置完成后,您将能够在本地页面上使用 cookie。

于 2018-06-21T07:09:17.327 回答
-2

在不同的浏览器中尝试 Mozilla 允许本地存储 cookie

于 2020-08-06T21:53:51.667 回答