当主Window
想要向子iframe发送消息时
它将子项的iframe网址设置为当前 url + hash(表示数据)。
但iframe将如何获得新数据?
我们有4个选项:(我不是在谈论新的api,例如postMessaage
,也不是XDM库)
孩子正在轮询新的哈希值(setTimeout)
主窗口可以调整iframe的大小(iframe必须注册onResize
)
OnHashChange事件可用于iframe
销毁/创建使用“onload”将msg(javascript函数!)通过parent.frames['samedonain'].sendData(...)
我的问题出现了:(关于选项#2(调整大小事件)):
根据this文章:
在Firefox,Opera,Google Chrome和Safari中,onresize事件是 仅在更改浏览器窗口大小时触发。在互联网上 资源管理器,onresize事件在浏览器大小时触发 窗口或元素已更改。
问题:
这个调整大小的东西有没有任何跨浏览器解决方案?
我不希望用户调整浏览器大小,iframe会重新读取数据!
我想要读取数据只有当我向iframe发送消息并且手动调整大小时
答案 0 :(得分:2)
您可以使用porthole作为iframe的跨浏览器代理脚本,但您需要能够在另一个iframe的接收端托管一个小代理文件。然后,您可以跨浏览器和域将信息和事件从一个iframe传递到另一个iframe