代码之家  ›  专栏  ›  技术社区  ›  Jérôme Verstrynge Mark

是否可以使用HTML5本地存储在不同网站的页面之间共享数据?

  •  9
  • Jérôme Verstrynge Mark  · 技术社区  · 11 年前

    我想在用户端创建数据,并让来自另一个URL的javascript也访问它。我知道同源政策,但我想知道是否有可能创建一些例外。或者,有什么技巧/功能我可以使用吗?

    1 回复  |  直到 11 年前
        1
  •  15
  •   chrmod    11 年前

    我知道的最好的技巧是使用iframes和 postMessage API确实可以从外部域访问localStorage。

    这项技术非常简单:

    • 在您的页面上,您必须创建要从中获取数据的域的iframe
    • 您的数据域需要监听 message 事件:

      document.addEventListener(“消息”,处理程序,useCapture);

    • 处理程序将负责访问 localStorage 并将其内容发布到源域

    • 您的源域可以调用 handler 数据域上的函数 后消息 API https://developer.mozilla.org/en-US/docs/DOM/window.postMessage

    为了数据的安全,您可以使用HTTP头 X框架选项允许-ROM uri https://developer.mozilla.org/en-US/docs/HTTP/X-Frame-Options?redirectlocale=en-US&redirectslug=The_X-FRAME-OPTIONS_response_header

    希望它能有所帮助。