【发布时间】:2015-05-22 16:00:46
【问题描述】:
我已经尝试在 Firefox 4.0 中使用 localStorage 对象来保存一些用于填写 http://host1.example.com/index.html 的表单的值 并获取这些值以在http://host2.example.com/index.html 处自动填写相同的表单,但它不起作用。
同源策略是否适用于 url 而不是域?
【问题讨论】:
标签: html local-storage
我已经尝试在 Firefox 4.0 中使用 localStorage 对象来保存一些用于填写 http://host1.example.com/index.html 的表单的值 并获取这些值以在http://host2.example.com/index.html 处自动填写相同的表单,但它不起作用。
同源策略是否适用于 url 而不是域?
【问题讨论】:
标签: html local-storage
不,它适用于hosts。您可以在创建或检索 localStorage 对象之前尝试设置 document.domain:
document.domain = "example.com";
--编辑
好的,尽管您可以设置document.domain 对localStorage 没有影响。可以使用iframe 和cross document messaging 组合一个解决方案:Cross-domain localStorage
【讨论】:
你运气不好。 localStorage 不能在不同域之间共享。
【讨论】:
例如,我可以在 dev.blah.com 上设置 localStorage 数据,然后从 prod.blah.com 中检索它,只要我设置 document.domain = "blah.com"; ?
【讨论】:
您不能仅通过原始 API 跨域或子域使用 localStorage 或 sessionStorage。您可以使用一些库来帮助在不同域之间发送消息。
【讨论】: