首页
统计
留言
友链
关于我
Search
1
git常用命令
6 阅读
2
docker常用命令整理
6 阅读
3
西门子S7-200 SMART在仿真软件运行
6 阅读
4
电脑高清壁纸网站
6 阅读
5
iframe父子窗口通信
4 阅读
前端
JavaScript
React
Vue
Nuxt3
后端
移动端
开发工具
VSCode
版本控制
WebStorm
运维
Docker
电气工程
登录
Search
标签搜索
前端
JavaScript
西门子S7-200 SMART
Vue
React
vscode
Git
运维
Docker
nuxt
Svg
WebStorm
壁纸
Flutter
小熊维尼
累计撰写
19
篇文章
累计收到
3
条评论
首页
栏目
前端
JavaScript
React
Vue
Nuxt3
后端
移动端
开发工具
VSCode
版本控制
WebStorm
运维
Docker
电气工程
页面
统计
留言
友链
关于我
搜索到
6
篇与
的结果
2024-12-06
iframe父子窗口通信
子窗口向父窗口发送消息window.parent.postMessage(参数1为发送的消息数据,参数2为可以接受到消息的源) window.parent.postMessage({ 'type': '自定义消息类型', 'value':JSON.stringify(发送的数据字段,只能是字符串类型) }, '*')父窗口接受消息window.addEventListener('message', 事件, false);const iframe = document.getElementById('iframe') window.addEventListener( 'message', (e) => { try { if (e.source === iframe.contentWindow) { if (e.data?.type === '自定义事件类型') { console.log('查看发送过来的数据', e.data) } } } catch {} }, false )父窗口向子窗口发送消息Iframe.contentWindow.postMessage(消息,源)注意:只有当iframe加载完毕,即onLoad完成后,才能接收到消息,所以当load完成后父窗口在去发送消息,不然发了也是白发!<template> <iframe class="map" src="xxxx" @load="iframeLoad"/> </template> <script> export default { data(){ return { loadFinish:false } }, methods:{ postMessage() { if(!this.loadFinish)return this.$el.querySelector('.map').contentWindow.postMessage('主页面消息', '*'); }, iframeLoad(){ this.loadFinish = true } } } </script>子窗口接收消息子窗口接收消息和父窗口接收消息一样的 window.addEventListener('message', 事件名, false);window.addEventListener( 'message', (e) => { try { if (e.data?.type === '自定义事件类型') { console.log('查看发送过来的数据', e.data) } } catch {} }, false )参考文章:https://www.cnblogs.com/grow-up-up/p/16981279.html
2024年12月06日
4 阅读
0 评论
0 点赞
1
2