vue进阶 Iframe基础

这篇具有很好参考价值的文章主要介绍了vue进阶 Iframe基础。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

Iframe

获取iframe里面的内容

Iframe 注意事项

vue页面使用iframe

iframe  与 vue 直接的交互

vue 向 iframe  传值

iframe 向 vue 传值


Iframe

Iframe 在同域时能自由操作iframe和父框架的内容(DOM),在跨域时可以实现页面跳转。

获取iframe里面的内容

iframe.contentWindow, 获取iframe的window对象
iframe.contentDocument, 获取iframe的document对象

Iframe 注意事项

1 使用 iframe 后,window.location.href 将拿不到导航栏信息,也无法监听和计算属性

2 可以使用  parent.location.href  或者  document.referrer 拿到最外层导航栏信息,但是无法进行监听和计算属性

vue页面使用iframe

template  引入

  <Iframe :src="iframeSrc" width="100%"  height="100%"  ref="iframe" />

iframe 路径  建议写在 mounted 中,可以设置路径和参数

 onMounted(() => {
      iframeSrc.value = `/sheet/send? 
      full=true&id=${uuid}&instance_plan_id=${instance_plan_id}`;
    });

iframe  与 vue 直接的交互

vue 向 iframe  传值

vue  页面

 const mapFrame = this.$refs['iframe'];
 const iframeWin = mapFrame.contentWindow;
 iframeWin.postMessage(
   {
     value: 'backSuccess',
     id: 'vue',
     success: true
    },
   '*'
 );

iframe 接受 vue 的值  建议写在 mounted  和 created 中

window.addEventListener('message',e=>{
  console.log(e,'vue 传递过来的数据')  
})

iframe 向 vue 传值

iframe 页面

window.parent.postMessage(obj, '*');
//如果js外面还有一层js,
window.parent.window.parent.postMessage(obj, '*');

vue 监听 iframe 传过来的值文章来源地址https://www.toymoban.com/news/detail-489390.html

 mounted() {
    //   获取并监听iframe传递来的数据
    let that = this;
    window.addEventListener('message', function (e) {
      var res = e.data;
      console.log(res, 'iframe传递过来的数据');
      })
 }

到了这里,关于vue进阶 Iframe基础的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【Vue】 在 vue 中使用 iframe 挂载 html 文件

    首先需要将要挂载的 html 文件放到 public 文件夹中 路径的引用形式 通过绑定 ref 获取到 iframe,data为我需要传递的数据,通过 iframes.postMessage 的方法进行传递。 postMessage 通信具体用法请参考:https://blog.csdn.net/qq_45677671/article/details/128238860

    2024年02月17日
    浏览(32)
  • vue3项目利用iframe展示其他页面

    iframe是html内联框架元素,它能够将另一个 HTML 页面嵌入到当前页面中。 主要属性如下: src 被嵌套的页面的 URL 地址 name 框架名称 scrolling 否要在框架内显示滚动条。值; auto(仅当框架的内容超出框架的范围时显示滚动条)、yes、no width iframe的宽度 height iframe的高度 frameborde

    2024年02月12日
    浏览(37)
  • vue3-内嵌iframe的传参与接收参数

    项目场景:当项目a需要用到项目b中的某个模块,如项目b中的支付模块 与 项目a的支付模块是通用的,可以使用iframe将项目b内嵌在项目a中,达到代码功能复用的效果。 既然两个项目中有共通的内容 就少不了互相通信。核心的两个方法是 传值:postMessage() 和 接收值:addEven

    2024年02月12日
    浏览(26)
  • vue 打印html <iframe>标签(内容打印)超详细

    今天领导给了个需求,需要配合其他项目组给一个公共组件的npm进行,公共组件打印,打印操作由这个npm包来操作。(经过开会商讨,最后决定配置一个path路径,来展示页面,然后我负责在公共这里打印相应页面内容。)在这之初都是好着的,首先进行配置,这里只需要一个

    2024年02月15日
    浏览(45)
  • [vue] 嵌套iframe,$router.go(-1)后退bug

    问题 :更改iframe中src值后导致的路由跳转混乱,多次更改iframe的src属性后,调用router.go(-1),不能实现路由后退上一级 原因 :还是在于通过ifream.src赋值,因为域相同,还是会向window.history中插入一条历史记录 之前的代码 解决办法 去掉 :src=\\\"url\\\" ,增加 this.$refs.iframe.contentWin

    2024年02月07日
    浏览(34)
  • 【前端基础知识】网易云音乐iframe外链的使用

    HTML 内联框架元素 ( iframe) 表示嵌套的浏览上下文(browsing context)。它能够将另一个 HTML 页面 嵌入 到当前页面中。 使用网页版的网易云音乐! 这一串就是网易云音乐的外链了 新建一个html页面,复制这个标签到head里就可以了。 要注意的是需要在src开头加上协议:https:或者

    2024年02月08日
    浏览(38)
  • 9.Vue前端使用iframe集成帆软报表的单点登录

    一、背景 需要把帆软报表内嵌到若依里面来。 二、帆软设置 2.1 帆软报表的url 打开帆软后端里面的【目录管理】查看具体报表的url 帆软报表的具体地址为: Frm聚合报表地址: 【帆软的服务http】+【/webroot/decision/view/form?viewlet=demo/demo.frm】 CPT普通报表的地址:【帆软的服务ht

    2024年01月25日
    浏览(30)
  • Vue 下 iframe可不固定高度、无视跨域窗口高度自适应

    原理:iframe设置高度100%,使用动态计算出iframe上一个父标签的高度,iframe高度就会自动撑开。限制是iframe只能在一个实时变化高度的窗口里面展示。 一、先看图,以此例子用了element-ui,Home.vue是父组件,Iframe.vue的页面是子组件。简单做了页面,顶部、侧边栏、底部都做了固

    2024年02月07日
    浏览(35)
  • iframe 给嵌入的 vue页面发送数据(vue2、vue3 都ok)

    这就是一个普通的网页 网页大致长这样 注意 : 这里接收事件的代码要写在 onMount() 声明周期钩子中 主要的就是进行事件监听 :window.addEventListener(‘message’, function(e) {xxxxxx})

    2024年02月06日
    浏览(30)
  • 【vue2中的pdf预览】iframe/pdf.js/vue-pdf

    vue2中预览pdf的方法有pdf.js和vue-pdf等。下面进行简单对比使用方法的介绍。 使用iframe预览pdf 如果后端返回的不是url,那么需要使用 responseType = \\\'blob\\\' 来读取后端传来的内容。 扩展: 同样是使用iframe进行预览,如果有 其他格式 如word/xls/ppt/txt的文件需要预览,可以使用微软解

    2024年02月09日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包