Update: iframe父子传值的问题
公司需求做一个左右分栏的页面,因为项目比较大,所以左侧页面需要用iframe链接另外一个服务器的地址,因而本次记录一下使用过程中的问题
跨域
两个项目是挂在两个服务器上的,所以父子组件不能用dom直接拿,
所以使用以下的两个方法
子页面
1
2
3
4
5
6
7
8
9
function receiveMessage(event) {
event.source.postMessage("成功获取直播资源",
event.origin);
}
window.addEventListener("message", receiveMessage, false);
父页面
1
2
3
4
5
6
7
8
9
var iframe = document.querySelector('#id').contentWindow
iframe.postMessage(msg, url)
window.addEventListener("message", function (obj) {
console.log(999, obj)
}, false);
2.局部刷新
有需求是需要只让iframe刷新获得数据,而父页面不刷新
1.同域
document.getElementById(‘id’).contentWindow.location.reload(true);
2.跨域
这块的话如果src不变,我推荐的方法是用postmessage来传数据。