我想在用户端创建数据,并让来自另一个 URL 的 javascript 也可以访问它。我知道同源策略,但我想知道是否可以创建一些异常(exception)。或者,我可以使用任何技巧/功能吗?
最佳答案
我知道的最佳技巧是使用 iframe 和 postMessage
API 从外部域访问 localStorage。
这个技巧很简单:
- 在您的页面上,您必须为要从中获取数据的域创建 iframe
你的数据域需要监听
message
事件:document.addEventListener("消息", handler, useCapture);
处理程序将负责访问
localStorage
并将其内容发布到源域- 您的源域可以使用
postMessage
API 在数据域上调用handler
函数 https://developer.mozilla.org/en-US/docs/DOM/window.postMessage
为了您的数据安全,您可以使用 HTTP header 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
希望对您有所帮助。
关于javascript - 是否可以使用 HTML5 本地存储在不同站点的页面之间共享数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16144906/