返回顶部
首页 > 资讯 > 精选 >vue项目嵌套iframe怎么实现发送、接收数据
  • 248
分享到

vue项目嵌套iframe怎么实现发送、接收数据

2023-06-30 17:06:54 248人浏览 薄情痞子
摘要

这篇文章主要介绍“Vue项目嵌套iframe怎么实现发送、接收数据”,在日常操作中,相信很多人在vue项目嵌套iframe怎么实现发送、接收数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue项目嵌套if

这篇文章主要介绍“Vue项目嵌套iframe怎么实现发送、接收数据”,在日常操作中,相信很多人在vue项目嵌套iframe怎么实现发送、接收数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue项目嵌套iframe怎么实现发送、接收数据”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

vue嵌套iframe发送、接收数据

<template>    <div class="home">        <iframe src="Http://127.0.0.1:8888/index.html" class="mapFrame" ref="mapFrame"></iframe>    </div></template>
<script>    export default {        mounted() {            let mapFrame = this.$refs['mapFrame']            if (mapFrame.attachEvent){  //兼容浏览器判断                mapFrame.attachEvent("onload", function(){                     let iframeWin = mapFrame.contentWindow                    iframeWin.postMessage({                        method: 'getBaseInfo',                        data:'我是vuex state的数据'                    },'*')                })            } else {                 mapFrame.onload = function(){                     let iframeWin = mapFrame.contentWindow                    iframeWin.postMessage({                        method: 'getBaseInfo',                        data:'我是vuex state的数据'                    },'*')                }             }                    }    }</script>
<style scoped lang="stylus">.home {    .mapFrame {        height: 300px;        width: 500px;    }}</style>

子页面

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <meta name="viewport" content="width=device-width, initial-scale=1.0">    <meta http-equiv="X-UA-Compatible" content="ie=edge">    <title>iframe嵌套网页测试</title></head><body>    <script>        window.addEventListener('message',function(e){            console.log('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')            console.log(e.origin,e.data)        })          // window.postMessage({        //     method:'localtest',        //     data:'DDDdddddddddddddddddddddddddd'        // },'*')    </script></body></html>

vue中iframe的使用

iframe在同域时能自由操作iframe和父框架的内容(DOM),在跨域时可以实现页面跳转。

<iframe id="iframe" :src="iframeSrc"  width="100%" frameborder="0"></iframe>

获取iframe里面的内容

  • iframe.contentWindow, 获取iframe的window对象

  • iframe.contentDocument, 获取iframe的document对象

const _iframe = document.getElementById('iframe').contentWindow

CDM跨域

如果你设置的iframe的域名和你top window的域名完全不同,可以使用CDM(cross document messaging)进行跨域消息的传递。

发送消息: 使用postmessage方法 

postMessage(message, targetOrigin)
  • message: 传递给iframe的内容, 通常是string,最好不要传object对象,需要传对象时,使用JSON.stringfy转换。

  • targetOrigin: 接受你传递消息的域名,可以设置绝对路径,也可以设置""或者"/"。 表示任意域名都行,"/"表示只能传递给同域域名。

_iframe.postMessage(jsON.stringify(_obj), '*')

接受消息: 监听message事件

当targetOrigin接受到message消息之后,会触发message事件。 message提供的event对象上有3个重要的属性,data,origin,source.

window.addEventListener('message', function (event) {      console.log(event)      if (event.origin === window.callBackUrl.iframeSrc) {        _this.childData = event.data        console.log(event.data)        _this.saveFORM()      }    })

到此,关于“vue项目嵌套iframe怎么实现发送、接收数据”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

--结束END--

本文标题: vue项目嵌套iframe怎么实现发送、接收数据

本文链接: https://lsjlt.com/news/330557.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • vue项目嵌套iframe实现发送、接收数据
    目录vue嵌套iframe发送、接收数据vue中iframe的使用获取iframe里面的内容CDM跨域vue嵌套iframe发送、接收数据 <template>     ...
    99+
    2024-04-02
  • vue项目嵌套iframe怎么实现发送、接收数据
    这篇文章主要介绍“vue项目嵌套iframe怎么实现发送、接收数据”,在日常操作中,相信很多人在vue项目嵌套iframe怎么实现发送、接收数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue项目嵌套if...
    99+
    2023-06-30
  • C#实现套接字发送接收数据
    本文实例为大家分享了C#实现套接字发送接收数据的具体代码,供大家参考,具体内容如下 服务端 namespace TestServer { public partial ...
    99+
    2024-04-02
  • C#如何实现套接字发送接收数据
    这篇文章主要介绍了C#如何实现套接字发送接收数据,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体内容如下服务端namespace TestServer{ ...
    99+
    2023-06-21
  • SpringBoot项目之怎么实现短信发送接口
    这篇文章主要讲解了“SpringBoot项目之怎么实现短信发送接口”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringBoot项目之怎么实现短信发送接口”吧!一. 短信接口实现描述:请...
    99+
    2023-06-25
  • 浅析nodejs实现Websocket的数据接收与发送
    WebSocket是HTML5开始提供的一种浏览器与服务器间进行全双工通讯的网络技术。在WebSocket API中,浏览器和服务器只需要要做一个握手(handshaking)的动作,然后,浏览器和服务器之...
    99+
    2022-06-04
    数据 nodejs Websocket
  • Android项目实现短信的发送、接收和对短信进行拦截
    说实话,关于Android中对短信的一些相关操作是一个比较入门的东西。那我现在还要来写这一篇博客的原因只是因为现在开发中有相关内容,而又想将这些东西分享给更多的人来学习,同时在...
    99+
    2022-06-06
    Android
  • MySQL数据库中怎么实现事务嵌套
    本篇文章为大家展示了MySQL数据库中怎么实现事务嵌套,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。解决方法目前,在PHP圈有两种比较通用的解决方法,一种是以Doc...
    99+
    2024-04-02
  • Springboot中RocketMQ怎么实现消息发送与接收
    本文小编为大家详细介绍“Springboot中RocketMQ怎么实现消息发送与接收”,内容详细,步骤清晰,细节处理妥当,希望这篇“Springboot中RocketMQ怎么实现消息发送与接收”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢...
    99+
    2023-07-02
  • SQLServer数据库中怎么实现嵌套子查询
    本篇文章给大家分享的是有关SQLServer数据库中怎么实现嵌套子查询,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。  如何使用SQLServ...
    99+
    2024-04-02
  • 怎么实现Udp接收数据
    本篇内容主要讲解“怎么实现Udp接收数据”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么实现Udp接收数据”吧!  udp接收数据,网络调试助手担任发送方,但发送时需要对方的也就是虚拟机的ip...
    99+
    2023-06-02
  • vue项目中怎么使用mock数据接口
    本篇文章为大家展示了vue项目中怎么使用mock数据接口,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.使用devServer.before进行数据mock//通...
    99+
    2024-04-02
  • Ajax如何实现发送和接收二进制字节流数据
    这篇文章主要介绍Ajax如何实现发送和接收二进制字节流数据,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!HTML5 Ajax 2.0标准中,增强了Ajax的许多功能,包括发送Form...
    99+
    2024-04-02
  • java socket发送数据怎么实现
    要使用Java Socket发送数据,可以按照以下步骤进行实现:1. 创建一个Socket对象,并指定要连接的服务器主机名和端口号。...
    99+
    2023-09-23
    java
  • php怎么实现实时接收数据
    本篇内容主要讲解“php怎么实现实时接收数据”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php怎么实现实时接收数据”吧!   1.发布订阅的Pub/Sub ...
    99+
    2024-04-02
  • 使用Java怎么实现发送报文与接收报文
    这篇文章将为大家详细讲解有关使用Java怎么实现发送报文与接收报文,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。发送报文先创建生成报文的方法,添加了xml数据public Stri...
    99+
    2023-06-14
  • C#怎么使用udp实现消息的接收和发送
    本篇内容主要讲解“C#怎么使用udp实现消息的接收和发送”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“C#怎么使用udp实现消息的接收和发送”吧!使用udp实现消息的接收和发送代码比较简单,但是...
    99+
    2023-07-05
  • esp8266模块--MQTT协议连接服务器实现数据接收和发送+源码
    首先推荐中国移动的代码,我觉得中国移动的代码更为合理:(但是有一些其他的模块在里面) OneNET开发板代码、资料--2020-09-27--标准板、Mini板bug修复 - 开发板专区 - OneNET设备云论坛 (10086.cn) 以...
    99+
    2023-09-20
    笔记 嵌入式硬件 stm32
  • vue项目中data数据之间互相访问怎么实现
    这篇文章主要讲解了“vue项目中data数据之间互相访问怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue项目中data数据之间互相访问怎么实现”吧!如下代码: &nbs...
    99+
    2023-06-30
  • 利用JavaMail怎么实现一个邮件发送与接收功能
    利用JavaMail怎么实现一个邮件发送与接收功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1、JavaMail 介绍  JavaMail 是sun公司(现以被甲骨文收...
    99+
    2023-05-31
    javamail ava
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作