vue页面嵌套iframe vue页面,vue获取iframe中的元素

  vue页面嵌套iframe vue页面,vue获取iframe中的元素

  本文主要介绍vue使用iframe引用html页面实现Vue和html页面方法的调用操作,具有很好的参考价值。希望对大家有帮助。来和边肖一起看看吧。

  当我们需要使用vue中其他模块或者其他地方的一些html页面功能时,可以使用iframe来引用html页面,实现它们的交互。

  首先,我们可以用标签来指代vue页面中的html页面。

  模板

  差异

  内联框架

  name=iframeMap

  id=iframeMapViewComponent

  宽度=100%

  高度= 470像素

  v-bind:src=smgHtmlPath

  frameborder=0

  滚动=否

  ref=iframeDom

  /iframe

  /div

  /模板

  其中src是我们的html的地址。我们可以在数据中定义smgHtmlPath属性,在我们创建的方法中初始化它,并给该属性一个初始值。

  如果加载了页面,我们就可以开始vue页面和html页面的交互了。

  如果我们需要vue page来调用html page方法,我们可以使用下面的代码

  已安装(){

  this.iframeWin=this。$ refs . iframedom . content window;

  },

  首先,在mounted方法中获取iframe对象。

  在vue页面上使用postMessage API向html页面发送请求数据,因为我们的vue和html页面可能不在同一个域名下,会造成跨域问题。我们这里用的postMessage是可以实现跨域的,我在google和IE11这里的测试都是跨域的。

  loadSmgxmlModels(数据){

  this.iframeWin.postMessage(数据, * )

  }

  这里的数据是我们想要传递给html页面的数据。

  这里的“*”表示可以接收所有地址,我们也可以指定地址,比如www.baidu.com。

  在html页面的标签中编写监控方法来监控我们的请求并获取数据。

  window . addevent listener( message ,function(ev) {

  //当我们是父子窗口进行消息传递的时候,可以用这个判断,只接受父窗口传递的消息,

  if (ev.source!==window.parent)返回;

  var data=ev.data

  console . log( vue data by vue is: data);

  //接下来可以调用我们html页面js中的方法,使用传递过来的数据进行操作。

  },假);

  我们这里监控的是message,可以获取数据。

  补充知识:Vue界面使用iframe嵌套html界面的传值问题

  一.从父页面给子页面传值

  该值可以通过url传递,如果它嵌入在外部网络(如www.baidu.com)中,则可以设置为

  iframe name= child id= child :src= www . Baidu . com # ASD=1 width= 1920 height= 880 frame border= 0 scrolling= no style= position:related;top:2.8 px;left:0px;/iframe

  asd后面的值可以根据需要更改,而不会影响地址的访问。

  如果是本地html文件,可以写类似的东西。

  :src=test.html#asd=1

  但是如何读取子页面中asd的值还没有探索成功,以后找到合适的方法再更新。这种方法更适合较简单的需求。

  二.父页面获取子页面的值

  例如,我们在子页面上设置了四个点击事件,JS代码如下

  脚本

  var n=0;

  函数FN()

  {

  n=1;

  alert( hello 1 n);

  }

  函数EN()

  {

  n=2;

  alert( hello 1 n);

  }

  函数ER()

  {

  n=3;

  alert( hello 1 n);

  }

  函数GN()

  {

  n=4;

  alert( hello 1 n);

  }

  /脚本

  然后在父页面中,我们可以在方法中定义下面的函数来获取n的值。

  callchild(){

  let obj 1=window . frames[ child ];//获取对应iframe的窗口对象

  alert(obj 1 . n);

  },

  通过一个按钮触发callchild函数,可以看到弹出窗口。

  以上vue使用iframe引用html页面实现Vue和html页面方法的调用操作,这是边肖分享的全部内容。希望能给你一个参考,多多支持我们。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: