之前很少使用IFRAME这个标签,因为感觉到父子页面之间传递数据不太方便。最近同事做的一组页面中大量的使用了IFRAME用来嵌入其他页面,由于懒
,所以只好看看如何在IFRAME的标签下传递数据。
在网上找了找相关的资料,方法确实不少,这里只说我实际用到过的两种方法:
1. 在子页面中用parent
属性也引用父页面的内容,但是好像只在IE
中能够使用,在CHROME
和Firefox
始终没有反应。
2. 在父页面中使用document.getElementById('test').contentWindow.postMessage(message, '*');
函数来向子页面发送消息;而在子页面中添加window.addEventListener('message', onmessage, false);
这个Listener来接受消息。不过在这种方法中值得注意的一点是,最好能将发送消息的postMessage
函数包含在$("#test").load(function(){});
中,因为如果不使用load
的话,很有可能消息在子页面的Listener
添加之前就发送出去了,那么子页面是无法接受到任何消息的。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。