我想在用户端创建数据并让来自另一个 URL 的 javascript 也访问它。我知道相同的来源政策,但我想知道是否可以创建一些例外。或者,我可以使用任何技巧/功能吗?
问问题
14790 次
1 回答
14
我知道的最好的技巧是使用 iframe 和postMessage
API 确实可以从外部域访问 localStorage。
这种技术非常简单:
- 在您的页面上,您必须为要从中获取数据的域创建 iframe
您的数据域需要监听
message
事件:document.addEventListener("消息", handler, useCapture);
处理程序将负责访问
localStorage
其内容并将其发布到源域- 您的源域可以使用API
https://developer.mozilla.org/en-US/docs/DOM/window.postMessage
handler
调用数据域上的函数postMessage
为了数据的安全,您可以使用 HTTP 标头X-Frame-Options ALLOW-FROM uri https://developer.mozilla.org/en-US/docs/HTTP/X-Frame-Options?redirectlocale=en-US&redirectslug=The_X -FRAME-OPTIONS_response_header
希望它会有所帮助。
于 2013-04-22T11:48:54.447 回答