react项目中利用<iframe>标签嵌入 VUE项目

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了react项目中利用<iframe>标签嵌入 VUE项目相关的知识,希望对你有一定的参考价值。

参考技术A 目前公司官网用react写的。东西台多还比较繁重。索性利用iframe标签嵌入vue项目

var data = 'code': 123
childFrameObj.contentWindow.postMessage(JSON.stringify(data),vue项目链接);

把想要专递的数据通过childFrameObj.contentWindow.postMessage传过去。必须要以字符串的形式。后面的要传递的链接

然后VUE页面接收  

在created里面

 window.addEventListener('message',function(event)

console.log('解密',event.data) 获得react传过来的值

,false);

vue页面通过下面的函数吧想要传递的数据给react传回去

var data = 'enter':'1'

 window.parent.postMessage(JSON.stringify(data), react项目链接);

react项目接收

  window.addEventListener('message', function(e) 

     console.log('data from domain2 ---> ' + e.data);

,false);’

这样就可以完成传递了

 href=" https://developer.mozilla.org/zh-CN/docs/Web/API/Window/postMessage  API官网

利用隐藏iframe下载文件

 

  1. 在开发项目中遇到问题:下载文件后台报错,下载文件的页面会出现空白或异常信息,需要解决。

    技术分享
  2. 解决方法:利用隐藏iframe下载文件

 技术分享

  3:对于a标签,采用target属性方法

 <a target="downfile" data-bind="attr:{href:getDownFilePath( templateFileName,outFileName,taskId)}">下载</a>

  

      对于button,添加click事件  

page.export=function(){
    var url="/lsjzjn/RecordResultMgr/getExport?storeId="+data.models.model.storeId()+"&instanceId="+$.getQueryString("instanceId");
    document.getElementsByName(‘downfile‘)[0].src=url;
}

  

 

 



以上是关于react项目中利用<iframe>标签嵌入 VUE项目的主要内容,如果未能解决你的问题,请参考以下文章

每个网页的最大 <iFrame> 标记数

react动态加载iframe

利用隐藏iframe下载文件

vue router hash构建的项目放在iframe内无效

react添加/嵌入 iframe

form表单利用iframe高仿ajax