之前很少运用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
增加之前就发送出去了,那么子页面是没法接收到任何音讯的。