【问题标题】:Javascript localStorage and domainsJavascript localStorage 和域
【发布时间】:2011-01-13 05:17:42
【问题描述】:

因为 iPad/iPhone 不支持来自第三方网站的 cookie,所以我想将值存储在 localStorage 中。 domainA 上的示例可能是:

<script src="http://domainB/something.js"></script>

domainB 上的这个脚本可以访问 window.localStorage 并且效果很好。但是,这些值存储在 domainA 中,因为那是文档的位置。

如果我将脚本放在源位于 domainB 上的 iframe 中,那么它可以工作,但我试图避免使用框架。所以我的问题是:有没有办法在远程域的 localStorage 中获取/设置值,以便我以后访问 domainB 时它们会在那里?

【问题讨论】:

  • 老兄,请阅读您自己的问题:remote 域上的 本地 存储 :) 开个玩笑,我明白你的意思。虽然不知道答案。但我和 Jan 在这个(+1)
  • 好吧,他们不称它们为 remoteCookies,但它们存在于设置它们的域中,即使通过从先前域引用的 url 设置也是如此。希望完成类似的事情。只需将其从脚本更改为包含脚本的 iframe 即可解决问题,但希望得到更优雅的东西。
  • 这里是关于使用 iFrames 跨域 localStorage nczonline.net/blog/2010/09/07/… 的文章

标签: javascript local-storage


【解决方案1】:

如果没有 iframe 解决方法,这是不可能的。

从多个域访问同一个 localStorage 对象的能力将违反同源策略和规范:

用户代理必须引发 SECURITY_ERR 任何成员都例外 最初是一个 Storage 对象 由 localStorage 属性返回 由其脚本访问 有效的脚本来源不是 与文件的来源相同 Window 对象 localStorage 属性被访问。

http://dev.w3.org/html5/webstorage/#security-localStorage

如果这不是针对 iPhone,我会建议使用闪存解决方案。但是对于 localStorage,我认为在他们实施跨域策略之前你很不走运。

【讨论】:

    猜你喜欢
    • 2022-01-21
    • 1970-01-01
    • 2012-03-05
    • 2011-03-25
    • 2016-04-19
    • 2011-04-30
    • 2013-09-22
    相关资源
    最近更新 更多