父页面使用iframe嵌套
url为另一个项目的ip地址:端口号
<iframe :src="url" frameborder="0" width="100%" height="100%"></iframe>
获取iframe嵌套另一个项目的参数
子页面 iframe页面
使用window.postMessage
发送数据
// 假设子页面知道何时发送数据
function sendDataToParent() {
const data = { key: 'value' };
window.parent.postMessage(JSON.stringify(data), '父页面源');
}
父页面 添加事件接收参数
export default {
mounted() {
window.addEventListener('message', this.handleMessage, false);
},
beforeDestroy() {
window.removeEventListener('message', this.handleMessage, false);
},
methods: {
handleMessage(event) {
// 检查消息来源以防安全漏洞
if (event.origin !== 'iframe嵌套项目源') {
return;
}
// 解析并处理数据
const data = JSON.parse(event.data);
console.log(data);
}
}
}