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

网站及数据库怎么做后门网站建设中网站需求分析和报告工能论文

网站及数据库怎么做后门,网站建设中网站需求分析和报告工能论文,人才网站建设方案,沈阳网站开发培训多少钱一、 背景 一个项目为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/111384/

相关文章:

  • 备案成功的网站可以更换域名吗制作企业网站的流程
  • 师大暨大网站建设安阳青峰网站建设
  • 红塔网站制作wordpress内容搬家
  • 新开传奇网站发布站手游佛山专业网站设计
  • 2345网站入口wordpress 调用 函数
  • 小九自助建站绿色国外网站
  • 本机做网站服务上传到购物网站建设包括哪些
  • 途牛网站建设的特点成都彭州网站建设
  • 为什么搜索不到刚做的网站wordpress中文版安装教程
  • 自己做网站能宣传自己的产品吗郑州网站关键
  • 音乐网站制作源代码中天建设招标网站
  • 网站建设7个基海外推广有前途吗
  • 公司旅游视频网站模板免费下载云龙网站开发
  • 迅捷流程图在线制作网站怎么做网站推
  • 网站的功能需求旅游网站制作分析
  • 门户网站开发用什么框架好app设计流程
  • 做网站的成本在哪光速网站建设
  • 宜昌建设厅网站淄博亿泰网站建设推广
  • 网站单子怎样注册新公司
  • 现在哪个网站做电商好如何把产品放到网上销售
  • 伊春网站优化做网站需要会编程语言吗
  • 公司做网站需要提供的材料怎么给网站做链接
  • 烟台城乡建设住建局网站杭州怎样建设网站
  • 制作网站专业公司哪家好海兴网站建设公司
  • 柳城企业网站建设公司青岛网站建设seo优化
  • 高碑店做网站的公司公司宣传网页
  • 如何用dw做网站底页吴桥县网站建设
  • 高端的响应式网站建设公司wordpress会员导出
  • 网站建设后预期推广方式网站建设基础筹备
  • 专门做音效的网站wordpress商品列表对比插件