我们可以使用来自其他域的localStorage的值

时间:2016-04-05 07:02:10

标签: javascript jquery html5

我将一个值存储在一个域中的本地存储中,比如www.abc.com。如果我从同一个浏览器访问这两个域,我可以从其他域(www.pqr.com)检索该值。

3 个答案:

答案 0 :(得分:2)

不,您无法将一个域的本地存储用于其他域。 本地存储是基于域的。您不能从不同域上的localstorage读取或写入,即使在其子域上也是如此。 您可以通过子域上的Iframe使用它。 请仔细阅读link以获取详细说明。

希望它会有所帮助。 :)

答案 1 :(得分:1)

您可能需要查看此link。它似乎建议您可以尝试使用iframe作为解决方法从另一个域访问localstorage。

免责声明:我之前没有尝试过,但似乎很有趣。让我知道它是否有效!

答案 2 :(得分:0)

是的,您可以使用此javascript库。 Bifrost-cors大小:<2KB

使用非常简单,只需调用方法即可。

var bifrostCors = new bifrostCors("http://example.com/",false)
bifrostCors.getgetLocalStorage("local-stroage-key-of-what-you-want")

实际上是这个库。呈现iframe(隐藏)并使用window.postmessage与两个不同的上下文(域)进行通信。 您也可以自己实施。但是这个lib非常轻<2Kb。 同样,您不仅可以访问具有功能的本地仓库,而且还可以

  1. 获取/设置Cookie
  2. 双向消息线程
  3. 从一个域到另一个域运行JS表达式
  4. 从一个域到另一域(Iframe)的DOM操作