当前位置: 首页 > news >正文

vue3、原生html交互传值

1、引入原生html

将该文件放到public目录下,在vue项目里面使用iframe 引入该文件,监听load事件(load事件在<iframe>的内容完全加载完成之后触发)

  <iframe@load="onIframeLoad"style="width: 454px; height: 480px"src="../../../public/Sample/test.html"frameborder="0"></iframe>
2、html文件操作完成后,通过postMessage向.vue文件传递信息
//html文件的保存事件
function submitEvent()
{close();//id的值,根据自己需要获取window.parent.postMessage({ action: 'close', id: '01234564789'}, '*');
}
3、在vue文件里面,文件加载完成后,添加对‘message’事件的监听,监听完成后,进行相应的操作
const onIframeLoad = () => {window.addEventListener("message", handleMessage);
};
const handleMessage = (event) => {if (event.data.action == "close") {console.log(event.data.id)}
};
4、移除事件监听器 
onUnmounted(() => {// 组件销毁前移除事件监听器window.removeEventListener("message", handleMessage);
});

相关文章:

  • 网安融合:打造网络+安全一体化的超预期体验
  • 那些能够直接编译到 WebAssembly 的 Rust Crates
  • Sentinel源码—4.FlowSlot实现流控的原理二
  • 微机控制电液伺服汽车减震器动态试验系统
  • 【4.1.-4.20学习周报】
  • Java SpringBoot的自定义配置
  • 使用 XWPFDocument 生成表格时固定列宽度
  • JS实现RSA加密
  • 高共模干扰场景下电压检测技术革新——光电隔离方案解析
  • docker占用磁盘100%
  • 富勒 (Fuller) 投影
  • DNS优选 2.6.3 | 解锁专业版,优选最快NDS,访问受限网站
  • 在高数据速度下确保信号完整性的 10 个关键策略
  • Face Swap 1.3.8| 解锁专业版,无限制换脸,视频换脸,释放您的创造力
  • Spring 中的验证、数据绑定和类型转换
  • 信号的传输方式
  • Mybatis--XML映射文件配置和动态SQL
  • linux 学习 1.开始学习
  • Freertos----信号量
  • 【技术派后端篇】Redis分布式锁:原理、实践与应用
  • 香港发生车祸致22人受伤,4人伤势严重
  • 上海浪琴环球马术冠军赛明日启幕!五一假期在这里感受精彩
  • 居委业委居民群策群力,7位一级演员来到上海一小区唱戏
  • 解放日报:浦东夯实“热带雨林”式科创生态
  • 2025五一档新片电影总票房破亿
  • 深交所修订创业板指数编制方案,引入ESG负面剔除机制