HTML页面嵌入VUE项目的数据传输

HTML页面和VUE页面之间语法不一样,html嵌入VUE项目需要按如下可以进行数据传输

vue获取iframe嵌入的html的数据

<div>

	<div style="width:100vw;height:100vh;">
		<iframe ref="myFrame" src="/static/AnySignMiniCoreV2.6.1/signatureCapture.html" @load="onIframeLoad" style="width:100vw;height:90vh;"> </iframe>
	</div>
	<div @click="onIframeLoad">拿值</div>

	<div @click="onIframeLoad1">传值</div>
</div>
export default {
	data() {
		return {

		};
	},
	 mounted() {
	    //   获取并监听iframe传递来的数据
	    // let that = this;
	    // window.addEventListener('message', function (e) {
	    //   var res = e.data;
	    //   console.log(res, 'iframe传递过来的数据');
	    //   })
	 },
	methods: {
	 onIframeLoad() {
		const iframeWindow = this.$refs.myFrame.contentWindow;
		const iframeDocument = iframeWindow.document;
		// 在这里可以通过iframeDocument访问到iframe里页面的数据
		console.log(iframeDocument.getElementById("xss_20").src);
	  },
	  onIframeLoad1() {
		const iframeWindow = this.$refs.myFrame.contentWindow;
		const iframeDocument = iframeWindow.document;
		// 在这里可以通过iframeDocument访问到iframe里页面的数据
		// 向iframe里页面发送数据
		iframeWindow.postMessage({ message: "Hello from parent page!" }, "*");
	  },
	},
};
</script>

html接收VUE的传的数据

<!-- 在iframe里页面的HTML中 -->
<script>
  window.addEventListener("message", receiveMessage, false);

  function receiveMessage(event) {
    // 接收到从父页面发送过来的数据
    const message = event.data;
    console.log(message);
  }
</script>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

夜空繁星vv

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值