从其他域弹出的javascript回调可能吗?

时间:2012-05-08 07:46:01

标签: javascript xss

我正在寻找一种纯粹的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 connect api。

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

Facebook取得了成功,但他们显然也依赖Flash来支持旧浏览器。

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

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