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

Vue中嵌入原生HTML页面

Vue中嵌入html页面并相互通信

需求:b2b支付需要从后获取到数据放到form表单提交跳转,如下:

但是vue目前暂时没找到有类似功能相关文档,所以我采用iframe嵌套的方式

1. Vue中嵌入Html 

<iframe src="/static/gateway.html" ref="iframe" width="100%" height="120%" v-show="iframeShow"></iframe>

 2. Vue向html中传递数据

在data中定义一个iframe绑定的页面的对象

	iframeWin: {},

在mounted生命周期中去绑定具体Iframe的页面 

this.iframeWin = this.$refs.iframe.contentWindow;

 发送信息到iframe页面

sendIframeWinpMessage() {let _this = this;const data = {realSumbitUrl: _this.realSumbitUrl,epccGwMsg: _this.epccGwMsg}this.iframeWin.postMessage({/*在iframe页面中接收通过key也就是param接收,因此传输的数据可以是对象,包含多个key以及对应的数据*/params: data}, "*");},

在html中接收vue端传过来的值

 

<script>window.addEventListener("message", function(event) {var data = event.data;// console.log("从vue中获得的数据", data);// 定义一个变量去接收,然后就可以获得vue传过来的数据// var obj = JSON.parse(data);// console.log(data.params.epccGwMsg)// console.log(data.params.realSumbitUrl)// JavaScript代码var realSumbitUrl = document.getElementById("realSumbitUrl");realSumbitUrl.value = data.params.realSumbitUrlvar epccGwMsg = document.getElementById("epccGwMsg");epccGwMsg.value = data.params.epccGwMsgdocument.getElementById("form").submit();}, '*')</script>

 3. html向Vue中传递数据

 html页面中的代码

// 向vue中发送数据
window.parent.postMessage({params: "你想传输的值",cmd: "iframeOne" /*当有多个iframe页面传值时,可以设计通过其中的字段获取对应的值*/
},'*');

 vue中的代码 

在mounted中加监听事件,并配上处理监听对象的方法

window.addEventListener("message", this.handleMessage);

在method中定义方法,用于处理监听的事件

handleMessage(event) {// 获取从iframe页面中传过来的值var cmd = event.data.cmd;var params = event.data.params;}

 

 

 

http://www.lryc.cn/news/291463.html

相关文章:

  • streampark+flink一键整库或多表同步mysql到doris实战
  • Vim实战:使用 Vim实现图像分类任务(二)
  • 学习MySQL ENUM数据类型
  • 88.合并两个有序数组
  • python查询xml类别
  • nginx配置及性能优化
  • 阿里云如何找回域名,进行添加或删除?
  • 机器学习 低代码 ML:PyCaret 的使用
  • 前端入门第二天
  • Django实现富文本编辑器Ckeditor5图片上传功能
  • 【C语言】epoll_wait / select
  • Java 数据抓取
  • 深度学习之处理多维特征的输入
  • 西瓜书读书笔记整理(十二) —— 第十二章 计算学习理论(下)
  • 初探分布式链路追踪
  • 闭包的理解?闭包使用场景
  • openssl3.2 - 帮助文档的整理
  • 中移(苏州)软件技术有限公司面试问题与解答(5)—— Linux进程调度参数调优是如何通过代码实际完成的1
  • 初识C语言·文件操作
  • 跨境卖家:如何利用自养号测评抢占市场先机?
  • 开发手札:Github Timeout 22
  • 学习鸿蒙基础(3)
  • 2024/1/27 备战蓝桥杯 1-2
  • 【PyQt】02-基本UI
  • 无需 Root 卸载手机预装软件,精简过的老年机又行了
  • 【Spring连载】使用Spring Data访问Redis(一)----快速指南
  • Redis 学习笔记 2:Java 客户端
  • React Native
  • 分布式搜索引擎_学习笔记_3
  • 机器学习系列——(二)主要任务