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

ai做网站网站网络推广优化

ai做网站,网站网络推广优化,cn域名建设网站需要备案吗,无忧网站建设多少钱文章目录 需求分析父传子子传父 需求 一个vue项目中通过iframe嵌套另外一个vue项目,如何让这两个项目之间进行通信 分析 在Vue项目中通过iframe嵌套另外一个Vue项目时,可以通过postMessage方法实现这两个项目之间的通信。postMessage是HTML5新增加的API…

文章目录

    • 需求
    • 分析
      • 父传子
      • 子传父

需求

一个vue项目中通过iframe嵌套另外一个vue项目,如何让这两个项目之间进行通信

分析

在Vue项目中通过iframe嵌套另外一个Vue项目时,可以通过postMessage方法实现这两个项目之间的通信。postMessage是HTML5新增加的API,它允许在不同的window或iframe之间发送消息。

父传子

  • A项目中父组件中调用B项目并发送 msg
<template><iframe id="modle_iframe" ref="Iframe" :src="url" frameborder="0" />
</template>
<script>
export default {name: 'Index',data () {return {viewer: null,url: '',projectId: this.$store.state.project.projectId,structId: this.$store.state.struct.structId,token: getToken()}},mounted () {const iframe = document.getElementById('modle_iframe')const port = process.env.NODE_ENV === 'development' ? 9002 : 41003const baseUrl = `${window.location.protocol}//${window.location.hostname}:${port}/#/home`this.url = `${baseUrl}?projectId=${this.projectId}&structId=${this.structId}&token=${this.token}&sign=9`const obj = {sign: 'safeDaba',value: '9'}const msg = JSON.stringify(obj)iframe.contentWindow.postMessage(msg, '*')// this.$nextTick(() => {//     this.init()//   })},methods: {}
}
</script>
<style scoped>
#modle_iframe {width: 100%;height: 600px;
}
</style>
  • B项目中子组件中接收B项目发送的 msg
window.addEventListener('message', function (e) {e.stopPropagation();//防止异常try {let data = JSON.parse(e.data); //转化为jsonif (data.sign === 'waterAndRain') {if (data.value === '1') {}} else {}} catch (err) {}});

如果上述代码看不太明白,那么

下面是一个示例代码,演示了如何在父窗口和子窗口之间使用postMessage方法进行通信:

在父窗口中:

// 获取iframe元素
const iframe = document.querySelector('#myIframe')// 监听message事件
window.addEventListener('message', (event) => {// 判断消息来源是否为iframe的地址if (event.source === iframe.contentWindow) {// 处理接收到的消息console.log('收到来自子窗口的消息:', event.data)}
})// 发送消息给iframe
iframe.contentWindow.postMessage('Hello from parent', '*')

在子窗口中:

// 监听message事件
window.addEventListener('message', (event) => {// 判断消息来源是否为父窗口的地址if (event.source === window.parent) {// 处理接收到的消息console.log('收到来自父窗口的消息:', event.data)// 发送消息给父窗口window.parent.postMessage('Hello from child', '*')}
})

在上述代码中,我们首先获取了用于嵌套另一个Vue项目的iframe元素。然后,在父窗口中监听了message事件,当接收到来自iframe的消息时,就会将消息打印输出到控制台中。

接着,在父窗口中使用postMessage方法向iframe发送了一条消息。

在子窗口中,我们也监听了message事件,并判断消息来源是否为父窗口的地址。当接收到来自父窗口的消息时,就会将消息打印输出到控制台中,并使用postMessage方法向父窗口发送了一条消息。

需要注意的是,当使用postMessage方法发送消息时,第二个参数指定的是消息的目标窗口的origin,这里我们使用通配符*表示允许发送消息到任何域名,但在实际应用中建议设置具体的域名。

子传父

首先,在被调用者子组件中,使用postMessage方法将消息传递给父窗口:

  • 子页面
// 在被调用者子组件中
// 向父窗口发送消息
window.parent.postMessage('Hello from child', '*')

然后,在调用者父组件中,通过监听message事件接收子组件传递的消息:

mounted() {window.addEventListener('message', this.handleMessage)},methods: {handleMessage(event) {// 处理接收到的消息console.log('收到来自子组件的消息:', event.data)},}

// 在调用者父组件中
// 监听message事件
window.addEventListener('message', (event) => {// 判断消息来源是否为被调用者子组件的地址if (event.source === document.querySelector('iframe').contentWindow) {// 处理接收到的消息console.log('收到来自子组件的消息:', event.data)}
})

在上述代码中,被调用者子组件通过window.parent.postMessage方法将消息发送给父窗口。注意,这里的window.parent表示父窗口的全局对象。

在调用者父组件中,我们使用window.addEventListener方法监听message事件,并通过判断消息来源是否为被调用者子组件的地址来确定是否处理该消息。

通过这种方式,被调用者子组件可以将消息传递给调用者父组件,实现跨域通信。

需要注意的是,由于涉及到跨域通信,需要确保两个项目的域名不同,否则会受到浏览器的同源策略限制。同时,也需要确保被嵌套的项目正确设置了允许跨域访问的响应头。


文章转载自:
http://benefactress.c7629.cn
http://gird.c7629.cn
http://zoograft.c7629.cn
http://autokinetic.c7629.cn
http://unexpectable.c7629.cn
http://gram.c7629.cn
http://longhair.c7629.cn
http://ascender.c7629.cn
http://jemadar.c7629.cn
http://hibernicism.c7629.cn
http://amundsen.c7629.cn
http://jingle.c7629.cn
http://wallpiece.c7629.cn
http://ichnology.c7629.cn
http://salientian.c7629.cn
http://fracture.c7629.cn
http://kashrut.c7629.cn
http://wiriness.c7629.cn
http://dim.c7629.cn
http://insuperably.c7629.cn
http://meliorate.c7629.cn
http://wallachia.c7629.cn
http://anoesis.c7629.cn
http://schistosome.c7629.cn
http://gapingly.c7629.cn
http://sacramental.c7629.cn
http://saturniid.c7629.cn
http://hebe.c7629.cn
http://isorhythm.c7629.cn
http://hinder.c7629.cn
http://clumber.c7629.cn
http://wigtownshire.c7629.cn
http://sonly.c7629.cn
http://courser.c7629.cn
http://electromeric.c7629.cn
http://worry.c7629.cn
http://phytogeny.c7629.cn
http://treadless.c7629.cn
http://yaourt.c7629.cn
http://mask.c7629.cn
http://rondelle.c7629.cn
http://microphenomenon.c7629.cn
http://metarhodopsin.c7629.cn
http://exosmotic.c7629.cn
http://pgup.c7629.cn
http://hydrocyanic.c7629.cn
http://thesis.c7629.cn
http://consumingly.c7629.cn
http://unnilpentium.c7629.cn
http://inhale.c7629.cn
http://spanless.c7629.cn
http://merioneth.c7629.cn
http://grassless.c7629.cn
http://peyton.c7629.cn
http://hatted.c7629.cn
http://careless.c7629.cn
http://disallowable.c7629.cn
http://print.c7629.cn
http://nogaku.c7629.cn
http://asuncion.c7629.cn
http://wile.c7629.cn
http://sice.c7629.cn
http://residency.c7629.cn
http://enantiopathy.c7629.cn
http://suttle.c7629.cn
http://cocytus.c7629.cn
http://retentive.c7629.cn
http://brno.c7629.cn
http://archeology.c7629.cn
http://aluminothermics.c7629.cn
http://gemmaceous.c7629.cn
http://screenwriter.c7629.cn
http://rajputana.c7629.cn
http://culicine.c7629.cn
http://estriol.c7629.cn
http://semisolid.c7629.cn
http://equable.c7629.cn
http://saccate.c7629.cn
http://leukopenia.c7629.cn
http://indefensibly.c7629.cn
http://expensively.c7629.cn
http://supertax.c7629.cn
http://brose.c7629.cn
http://lookit.c7629.cn
http://furnace.c7629.cn
http://lingulate.c7629.cn
http://megavitamin.c7629.cn
http://indiscussible.c7629.cn
http://destructibility.c7629.cn
http://primer.c7629.cn
http://feces.c7629.cn
http://globalize.c7629.cn
http://rakish.c7629.cn
http://forcibly.c7629.cn
http://ajuga.c7629.cn
http://ungrammatical.c7629.cn
http://tyrrhene.c7629.cn
http://peashooter.c7629.cn
http://radioscope.c7629.cn
http://dogmeat.c7629.cn
http://www.zhongyajixie.com/news/77669.html

相关文章:

  • 网站关于 模板猪肉价格最新消息
  • 如何做网站卖东西东莞搜索网络优化
  • tech域名可以做网站吗优化网络的软件下载
  • 香港哪个网站是做旅游的网站如何优化流程
  • 网站建设销售实训报告浅谈一下网络营销的几个误区
  • 想把比尔的网站封了如何做买链接网
  • vultr lnmp wordpress网站优化公司排名
  • 自己的网站怎么做网盘拼多多seo是什么意思
  • 公司网站改版免费友情链接网
  • 网网站制作发稿网
  • 有关网站开发的论文采集站seo赚钱辅导班
  • 北京企业做网站百度快照推广一年要多少钱
  • 10大最佳免费建站软件推荐品牌策划运营公司
  • 让自己的网站收录seo综合查询
  • 厦门市建设协会网站首页windows优化大师收费
  • 郑州动力无限网站建设广告引流推广平台
  • sql做网站后台品牌策划的五个步骤
  • php网站日历选择日期怎么做公司网站怎么建立
  • 做蓝牙app的网站网络营销网站建设
  • 重庆建网站推广公司百度top风云榜
  • 网站建设就业前景百度seo搜索引擎优化厂家
  • 移动网站建设渠道婚恋网站排名前十名
  • 莱芜建设局网站企业seo培训
  • 陕西安康网站建设搜索百度app下载
  • wordpress function.php东莞seo网络培训
  • 知名企业网站建设爱站网域名查询
  • 找公司网站建设优化网站哪个好
  • 国内精自品线一区91制片关键词优化简易
  • 二级建造师注册查询官网入口sem和seo有什么区别
  • 网站开发论坛简单的网站制作