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

北京高端网站建设公司哪家好网站建设设计简介

北京高端网站建设公司哪家好,网站建设设计简介,网址大全360,化州 网站建设一、 背景 一个项目为vue2,一个项目为vue3,两个不同的项目实现iframe嵌入,并实现通信 二、方案 iframe跨域时,iframe组件之间常用的通信,主要是H5的possmessage方法 三、案例代码 父页面-vue2(端口号为…

一、 背景

一个项目为vue2,一个项目为vue3,两个不同的项目实现iframe嵌入,并实现通信

二、方案

iframe跨域时,iframe组件之间常用的通信,主要是H5的possmessage方法

三、案例代码

父页面-vue2(端口号为127.0.0.1:8080)

<template><div><div class="container"><iframeref="iframeId"id="iframeId"src="http://127.0.0.1:8081"frameborder="0"border="0"hspace="0"vspace="0"scrolling="yes"height="100%"width="100%"></iframe></div></div>
</template>
<script lang="ts">
import { Vue, Component } from 'vue-property-decorator';@Component({components: {},
})
export default class FeatureService extends Vue {// 定义一个方法,用于发送消息到iframeprivate postMessageToIframe() {// 设置延时,确保iframe已经加载完成setTimeout(() => {// 定义要发送的数据const iframeInfo = { isIframeParent: true };// 定义目标源const targetOrigin = 'http://127.0.0.1:8081';// 获取iframe引用const iframe = this.$refs.iframeId;// 向iframe发送消息iframe.contentWindow.postMessage(JSON.stringify(iframeInfo),targetOrigin);}, 500);}private mounted() {// 在组件挂载后,发送消息到iframethis.postMessageToIframe();window.addEventListener('message', this.handleMessage, false);}private handleMessage(event: MessageEvent) {// 通过origin对消息进行过滤,避免遭到XSS攻击if (event.origin === 'http://127.0.0.1:8081') {console.log('子页面传输过来参数', event.data);}}
}
</script>
<style lang="less" scoped>
.container {width: 100%;margin-top: -40px;height: 100vh;overflow: hidden;#iframeId {width: 100%;display: block;}
}
</style>

子页面-vue3, (端口号为127.0.0.1:8081)

<template><div><!-- 顶部导航 --><TopMenu v-if="!iframeParentInfo.isIframeParent" /><div class="demo-sidebar-container demo-full-width"><!-- 侧边栏 --><SiderBar v-if="!iframeParentInfo.isIframeParent" /><!-- 内容容器 --><ContentBox /></div></div>
</template>
<script setup lang="ts">
import { onMounted, ref } from 'vue'const iframeParentInfo = ref({})const messageHandler = (e) => {// 通过origin对消息进行过滤,避免遭到XSS攻击if (e.origin !== 'http://127.0.0.1:8080') returnif (typeof e.data === 'string') {parseData(e.data)}
}const parseData = (data) => {try {iframeParentInfo.value = JSON.parse(data)console.log('父页面传输过来参数', data)} catch (error) {console.error('解析JSON出错', error)iframeParentInfo.value = {}}
}onMounted(() => {// 获取 父向 子(iframe) 传递的信息window.addEventListener('message', messageHandler)// 子(iframe)向父传递信息window.parent.postMessage('Hello Parent!', '*')
})
</script>

四、案例效果

在这里插入图片描述

http://www.yayakq.cn/news/245777/

相关文章:

  • 深圳网站设计哪家比较好wordpress 密码看贴
  • 寻找手机网站建设wordpress流量快
  • 装饰公司网站模版asp.net门户网站项目怎么做
  • 中国建设银行官网网站东莞网站建设运营方案
  • 鄂尔多斯网站制作公司网站做页游推广
  • 无锡餐饮网站建设直播app开发要多少钱
  • 做社交网站框架在一呼百应上做网站行吗
  • 做产品推广什么网站会比较好简单的销售网站怎么做
  • 网站 技术1688关键词排名查询工具
  • 做经营性的网站需要注册什么做网站浏览器
  • 加快政务网站群建设管理小熊代刷推广网站
  • 邯郸形象网站建设旅行社网站程序
  • ps做阿里网站分辨率设置十大电商平台有哪些
  • 可以做用户画像的网站软件外包网
  • 国外的电商网站有哪些专业商城网站建设报价
  • 网站开发tt0546徐州住房和城乡建设局网站
  • 网站建设简历自我评价网站设计怎么做一点首页就跳转
  • 微网站怎么制作网站服务包括什么
  • 怎样做可以互动留言的网站社交电商
  • 巧克力网站模板建立网站有什么用
  • 网站如何做点击链接wordpress半次元主题
  • 做软件贵还是做网站贵怎么自己制作一个好的网站
  • delphi 可做网站吗江苏省工程建设信息官方网
  • 东营做网站建设的公司室内设计联盟官方网站图片
  • 网站建设需要保存什么经典重庆网站
  • php做网站的分站贵阳app开发公司哪家强
  • 做网站需要几个程序网站的优缺点
  • 网站页面footer的copy网站下载不了怎么解决
  • 网站建设与维护课程设计报告书湖北省城乡与住房建设厅网站
  • 母婴网站模板中英文网站设计