【问题标题】:How to store a browser-wide localStorage value?如何存储浏览器范围的 localStorage 值?
【发布时间】:2012-06-30 13:45:08
【问题描述】:

假设我打开 Chrome 并跳到 javascript 控制台。如果我跑

localStorage.setItem('test', 'THIS IS A VALUE');

然后关闭浏览器,重新打开,然后运行

localStorage.getItem('test');

结果将是可以预见的“这是一个价值”。但是,如果我要导航到打开浏览器时所在的另一个页面,即不在 about:blank;或任何主页,运行 .getItem 将导致 null。

似乎 localStorage 特定于某个页面。有没有办法在一个页面上存储一个可以在任何页面上使用的值?

假设我想在一个页面上生成一个 ID,然后在一个完全不相关的网站上检查相同的 ID,这可能吗?现在我已经把它打出来了,听起来有点安全风险。

【问题讨论】:

  • 出于安全原因,本地存储受域限制。

标签: javascript google-chrome local-storage tracking


【解决方案1】:

每个域都有一个单独的 LocalStorage 存储,很像 cookie。考虑替代方案:如果 LocalStorage 是全局的,则不同的网站可以读取和写入彼此的存储值。

存储跨多个站点“跟踪”用户的持久性数据在某种程度上是困难的。您需要明确采取跨域的操作(例如,从另一个站点加载内容或将数据发布到另一个站点)以实现此目的。

【讨论】:

  • 我希望这是做笔记的正确地方。有办法解决这个问题。如果您使用的是浏览器扩展程序或框架,例如 Kango,则可以使用扩展程序的 API 设置一个永久的、跨域浏览器范围的值。显然,这只有在您可以让客户安装对 99% 会调查此问题的人都不起作用的东西时才有效
猜你喜欢
  • 2016-03-13
  • 2022-01-05
  • 2019-02-24
  • 1970-01-01
  • 2020-02-24
  • 1970-01-01
  • 2015-01-19
  • 2014-08-27
  • 1970-01-01
相关资源
最近更新 更多