2

之前很少使用IFRAME这个标签,因为感觉到父子页面之间传递数据不太方便。最近同事做的一组页面中大量的使用了IFRAME用来嵌入其他页面,由于,所以只好看看如何在IFRAME的标签下传递数据。

在网上找了找相关的资料,方法确实不少,这里只说我实际用到过的两种方法:
1. 在子页面中用parent属性也引用父页面的内容,但是好像只在IE中能够使用,在CHROMEFirefox始终没有反应。
2. 在父页面中使用document.getElementById('test').contentWindow.postMessage(message, '*');函数来向子页面发送消息;而在子页面中添加window.addEventListener('message', onmessage, false);这个Listener来接受消息。不过在这种方法中值得注意的一点是,最好能将发送消息的postMessage函数包含在$("#test").load(function(){});中,因为如果不使用load的话,很有可能消息在子页面的Listener添加之前就发送出去了,那么子页面是无法接受到任何消息的。


derek_334892
209 声望0 粉丝