将自定义消息从iframe来宾发送到iframe主机,其中托管portlet中的HTML
Send custom message from iframe guest to iframe host where host HTML from portlet
我正在尝试使用jQuery将自定义消息从iframe来宾发送到iframe主机(我们正在开发来宾和主机)。来宾和主机位于同一个域上,但位于不同的端口上。此外,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插件。
我遇到的问题是:为了让这些库发挥作用,发送方(iframe-guest)需要知道主机url,但不能提前知道损坏的portlet主机url。
mozilla文档在这个主题上做得很好:https://developer.mozilla.org/en/DOM/window.postMessage
相关文章:
- 防止Iframe窗体在新窗口中打开
- 将样式表插入iframe
- 在Twitter上用ie9中的空白src访问iframe的contentWindow
- 使用jQuery从原始页面内容创建iframe
- Highslide(iframe的侦听器)
- iframe正在添加标签,需要删除它们
- 通过javascript/html访问twitter共享iframe
- 如何在Facebook上的iframe应用程序中使后退按钮返回到上一页
- 如何使用Angular动态添加iframe-src
- 由于iframe导致的问题
- 正在从页面中删除iframe
- 检测iframe是否跨域的愚蠢方法
- 是否可以使用iframe API在iOS浏览器上播放youtube视频
- 如何操作iframe之外的元素
- 如何使用javascript/jquery获取iframe的URL的锚点属性
- 对特定的iframe使用javascript书签
- node-webkit-从父窗口捕获iframe鼠标事件
- 将 iframe 放置在 Liferay portlet 中
- 将自定义消息从iframe来宾发送到iframe主机,其中托管portlet中的HTML
- JIRA在IFrame portlet - javascript不工作