将自定义消息从iframe guest虚拟机发送到iframe主机,其中来自portlet的主机HTML

时间:2012-01-10 22:07:24

标签: javascript jquery iframe xss liferay

我正在尝试使用jQuery从iframe guest虚拟机向iframe主机发送自定义消息(我们正在开发guest虚拟机和主机)。来宾和主机位于同一个域中,但位于不同的端口上。此外,iframe主机是从Liferay门户实例(5.2.3)中的portlet呈现的,门户网站会破坏portlet的主机URL。主机和访客URL如下所示:

主持人:http://localhost:8080/host/foo/bar?p_p_id=portletname_WAR_portletname_INSTANCE_nNz9&...

嘉宾:http://localhost:8081/guest

我知道尝试执行此消息传递违反了浏览器强制执行的相同原始策略。为了解决这个问题,我看过使用PortHole,EasyXDM和jquery-postmessage-plugin。

我遇到的问题是:要使这些库工作,发件人(iframe guest)需要知道主机URL,但不能提前知道损坏的portlet主机URL。

1 个答案:

答案 0 :(得分:0)

mozilla文档非常适合这个主题:https://developer.mozilla.org/en/DOM/window.postMessage