1、去掉滚动条:给外面一个大盒子,设置宽高,对里面的iframe溢出隐藏
3、iframe跨域通信(参考掘金文章,不明白的直接看文字最下面注意点即可):
发送:
otherWindow.postMessage(message, targetOrigin, [transfer]);
otherWindow:接口跨域消息的那个窗口,并非发送消息本身窗口
targetOrigin:发送跨域消息的目标url
接收:监听message事件
window.addEventListener('message',(event)=>{ })
event={
data: // 接收的数据
origin // 发消息的那个url
soerce // 发消息的那个window对象
}
4、demo:
***父页面***
机构端首页给iframe页面发送数据:
if (this.$refs.iframe) {
// 要给发送数据的那个窗口的window
this.$refs.iframe.contentWindow.postMessage(item, '*')
}
机构端首页接收数据:
window.addEventListener('message', (event) => {
const data = event.data.data
if (data && data.height) {
this.$nextTick(() => {
if (this.$refs.pageMain) {
this.$refs.pageMain.style.height = (data.height + 24) + 'px'
}
})
}
})
***子页面***
iframe中的移动端页面接收数据:
window.parent.postMessage({
data: {
code: 'success',
height: document.querySelector(val).offsetHeight
}
}, '*')
发送数据:
window.addEventListener('message', event=>{ })