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

珠海企业模板建站石家庄工程造价信息网官网

珠海企业模板建站,石家庄工程造价信息网官网,商业网站开发教程,我想做代理文章目录 需求分析父传子子传父 需求 一个vue项目中通过iframe嵌套另外一个vue项目#xff0c;如何让这两个项目之间进行通信 分析 在Vue项目中通过iframe嵌套另外一个Vue项目时#xff0c;可以通过postMessage方法实现这两个项目之间的通信。postMessage是HTML5新增加的API… 文章目录 需求分析父传子子传父 需求 一个vue项目中通过iframe嵌套另外一个vue项目如何让这两个项目之间进行通信 分析 在Vue项目中通过iframe嵌套另外一个Vue项目时可以通过postMessage方法实现这两个项目之间的通信。postMessage是HTML5新增加的API它允许在不同的window或iframe之间发送消息。 父传子 A项目中父组件中调用B项目并发送 msg templateiframe idmodle_iframe refIframe :srcurl frameborder0 / /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}/#/homethis.url ${baseUrl}?projectId${this.projectId}structId${this.structId}token${this.token}sign9const 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; } /styleB项目中子组件中接收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://www.hkea.cn/news/14346976/

相关文章:

  • 有用dojo做的网站吗网站搭建公司排行
  • 广州网站营销企业所得税怎么算公式
  • 千万pv网站开发成本网站开发财务预算
  • wordpress站所有分类不显示安徽企业网站建设
  • 网站模板提供源码成都有哪些设计公司
  • 网站需要优化的小型公司什么是顺联网络营销
  • 网站规划内容网站关键词排名优化推广软件
  • 公司网站推广费用咸宁响应式网站建设价格
  • 网站开发工具的是什么苏州做网站建设公司
  • 沈阳淘宝网站建设公司做两个网站
  • iis做的网站如何添加播放器如何给wordpress文章排版
  • 广东品牌网站建设哪家好西安网站到首页排名
  • 辽宁省住房和城乡建设厅网站网站建设投标ppt模板下载
  • 苏州制作企业网站的三明网站制作
  • 石嘴山网站关于两学一做广州安全教育平台登录账号
  • 微网站套餐网站程可以自己做吗
  • 网站开发管理学什么高端h5网站
  • 做网站需要什么技术支持汕头做网站
  • ext做的网站有那些新建的网站怎么上首页
  • 公司网站乱码作文网投稿
  • 合肥网站建设哪个好wordpress 友情链接 书签
  • 门户网站模板之家做网站一定要买主机吗
  • 医疗服务网站素材php网站开发 总结
  • 网站建设核心优势网站运营需要++做哪些工作
  • 怎么做企业功能网站简述企业网站的建设过程
  • 怎么用IP做网站地址wordpress制作进度条
  • 网站网络拓扑图南宁做网站开发的公司
  • 杭州手机模板建站做网站迅雷下载链接设置
  • 南宁网站建设lilkj网站设计制作厂家有哪些
  • 网站建设的关键细节潜江资讯网手机版正式上线