【问题标题】:Communicating between websites (using Javascript or ?)网站之间的通信(使用 Javascript 或?)
【发布时间】:2010-09-07 04:20:38
【问题描述】:

这是我的问题 - 我想在两个网站之间进行交流,我正在寻找一个干净的解决方案。当前的解决方案使用 Javascript,但由于(可以理解的)跨站点脚本限制,存在令人讨厌的解决方法。

目前,网站 A 使用名为 jqModaljQuery 插件打开一个包含 网站 B 的模式窗口。 网站 B 做一些工作并将一些结果返回到 网站 A。要返回该信息,我们必须解决跨站点脚本限制 - website B 创建一个 iframe,该 iframe 引用 website A 上的页面并包含 *fragment identifiers”,其中包含要返回的信息。网站 A 轮询 iframe 以检测返回的信息。它是 common technique,但它是 hacky。

有一些变体,例如CrossSite,我也许可以使用从 网站 B网站 A 的 HTTP POST,但我试图避免页面刷新。

有人有其他选择吗?

编辑:我想避免在网站 B 上保存状态。

【问题讨论】:

    标签: javascript jquery web xss


    【解决方案1】:

    我最好的建议是在每个站点上创建一个 web 服务,其他站点可以调用需要传递的信息。如果需要安全性,可以很容易地向该系统添加类似 SSL 的身份验证方案(或实际的 SSL,如果您愿意的话),以确保只有两个服务器能够与各自的 Web 服务通信。

    这可以让您避免在涉及一个站点在另一个站点上打开窗口的任何方案中固有的 hackiness。

    【讨论】:

      【解决方案2】:

      对于 1.2 以上的 jQuery,您可以使用 JSONP

      【讨论】:

        【解决方案3】:

        @jmein - 你已经描述了如何创建一个模态弹出窗口(这正是 jqModal 所做的)但是你错过了模态窗口的内容是从另一个域提供的。涉及的两个域属于两个独立的公司,因此不能按照您描述的方式合并。

        【讨论】:

          【解决方案4】:

          我相信@pat 指的是这个

          "从 jQuery 1.2 开始,如果您指定 JSONP 回调,您可以加载位于另一个域中的 JSON 数据," http://docs.jquery.com/Ajax/jQuery.getJSON#urldatacallback

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2020-05-19
            • 1970-01-01
            • 1970-01-01
            • 2012-08-11
            相关资源
            最近更新 更多