QQ泡沫乐园 · 免费提供游戏辅助,破解软件,活动资讯,喜欢记得收藏哦!
综合软件_线报活动_游戏辅助_最新电影_最优质的的辅助分享平台

在vue中定义smgHtmlPath属性的应用和补充知识介绍(一)

网络 2023-02-12 08:07

当我们须要在vue中使用其他模块或则其他地方的一些html页面功能时,我们可以使用iframe去引用html页面,实现她们的交互

首先我们可以再vue页面中使用标签引用html页面

其中src就是我们html的地址,我们可以在data中定义smgHtmlPath属性,在我们的created方式中初始化,为该属性赋于初始值

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

如果我们须要vue页面调用html页面方式,我们可以使用如下代码

 mounted() {
  this.iframeWin = this.$refs.iframeDom.contentWindow;
 },

首先在我们的mounted方式中得到iframe对象

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

loadSmgxmlModels(data) {

    this.iframeWin.postMessage(data,"*")
}

这里的data就是我们要传递给html页面的数据

“*”,这里代表的是所有地址可以接收到,我们也可以指定地址,例如:

在html页面的标签中编撰窃听方式,用来窃听我们的恳求,获取数据

window.addEventListener('message', function(ev) {
  // 当我们是父子窗口进行消息传递时,可以使用此判断,只接受父窗口传递来的消息,
  if (ev.source !== window.parent) return;
  var data = ev.data;
 console.log("vue传递的数据为:"+data);
  //下面可以调用我们html页面js中的方法,使用传递的数据进行操作了
}, false);

这里我们窃听的就是message,可以获取数据。

页面传值方式_页面传值有哪些方式_页面cmyk值

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

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

可以通过url进行传值,若嵌入内网诸如,可以设置为

asd旁边跟的值可以按照须要修改,不影响地址的访问

若为本地html文件,类似的可以写作

:src="test.html#asd =1"

但是怎样在子页面读取asd的值这个还没探究成功,稍后若寻觅到合适的方式会再更新。这种方式比较适宜比较简单的需求

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

例如我们在子页面设置四个click事件,JS代码如下

那么在父页面我们可以在method中定义如下函数获取到n的值

callchild(){
   let obj1=window.frames["child"];//获得对应iframe的window对象
   alert(obj1.n);
  },

将callchild函数由某个button触发,可以看见弹出窗口

以上这篇Vue 使用iframe引用html页面实现vue和html页面方式的调用操作就是小编分享给你们的全部内容了,希望能给你们一个参考,也希望你们多多支持脚本之家。

上一篇:如何查询淘宝哪一单被降?(菜单栏) 下一篇:没有了
相关文章