可能从其他域弹出时回调 JavaScript

javascript callback on popup from other domain possible?

本文关键字:回调 JavaScript 其他      更新时间:2023-09-26

我正在寻找一种纯粹的javascript方法来:

* refer to a javascript from a different domain than the current page.
* the javascript launches(after a user click) a popup to the same domain the javascript is loaded from.
* the popup calls a callback, in the current page, when a result in the popup window is achieved.
* no additional server files on the domain of the current page. 

真的有可能还是违反了所有 xss 保护? 我相信Facebook已经做到了。有fb连接接口。

感谢您的任何帮助!

您可以使用HTML5的postMessage,但它在较旧的浏览器中不起作用。EasyXDM允许所有浏览器都这样做,方法是在旧版浏览器上使用黑客。对于这种情况,最简单的方法是在完成后将弹出窗口重定向回第一个域,并在调用回调的重定向到页面上使用 javascript

Facebook已经实现了,但他们似乎也依赖Flash来支持较旧的浏览器。

@see http://hustoknow.blogspot.de/2011/06/deconstructing-facebooks-flash-cross.html

在我目前的项目中,我们刚刚使用后备解决方案转储了IE7,并继续使用HTML5s postMessage -> http://caniuse.com/#search=postMessage