vue组件中使用iframe元素的示例代码


Posted in Javascript onDecember 13, 2017

本文介绍了vue组件中使用iframe元素的示例代码,分享给大家,具体如下:

需要在本页面中展示vue组件中的超链接,地址栏不改变的方法:

<template>
 <div class="accept-container">
   <div class="go-back" v-show="goBackState" @click="goBack">GoBack</div>
<ul>
 <li v-for="item in webAddress">
  <a :href="item.link" rel="external nofollow" target="showHere" @click="showIframe">{{item.name}}</a>
 </li>
</ul>
<iframe v-show="iframeState" id="show-iframe" frameborder=0 name="showHere" scrolling=auto src=""></iframe>
 </div>
</template>
<script>
export default {
 name: 'hello',
 data () {
 return {
  iframeState:false,
  goBackState:false,
  webAddress: [
  {
   name:'segmentFault',
   link:'https://segmentfault.com/a/1190000004502619'
  },
  {
   name:'博客',
   link:'http://vuex.vuejs.org/'
  },
  {
   name:'特效',
   link:'http://www.yyyweb.com/377.html'
  }
  ]
 }
 },
 mounted(){
 const oIframe = document.getElementById('show-iframe');
 const deviceWidth = document.documentElement.clientWidth;
 const deviceHeight = document.documentElement.clientHeight;
 oIframe.style.width = deviceWidth + 'px';
 oIframe.style.height = deviceHeight + 'px';
 },
 methods:{
 goBack(){
  this.goBackState = false;
  this.iframeState = false;
 },
 showIframe(){
  this.goBackState = true;
  this.iframeState = true;
 }
 }
}
</script>
<style scoped>
</style>

需要使同层元素不被覆盖,可以加

<iframe id="dialogFrame" frameborder="0" scrolling="no" style="background-color:transparent; position: absolute; z-index: -1; width: 100%; height: 100%; top: 0;left:0;"></iframe>

不过html5有新的dialog元素用于对话框。

iframe的一些方法:

获取iframe内容:

var iframe = document.getElementById("iframe1");
 var iwindow = iframe.contentWindow;
 var idoc = iwindow.document;
  console.log("window",iwindow);//获取iframe的window对象
  console.log("document",idoc); //获取iframe的document
  console.log("html",idoc.documentElement);//获取iframe的html
  console.log("head",idoc.head); //获取head
  console.log("body",idoc.body); //获取body

自适应 iframe:

即1去掉滚动条,2设置宽高

var iwindow = iframe.contentWindow;
var idoc = iwindow.document;
iframe.height = idoc.body.offsetHeight;

例子:

<iframe id="google_ads_frame2" name="google_ads_frame2" width="160" height="600" frameborder="0" src="target.html" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" scrolling="no" allowfullscreen="true"></iframe>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
把JS与CSS写在同一个文件里的书写方法
Jun 02 Javascript
在myeclipse中如何加入jquery代码提示功能
Jun 03 Javascript
javascript的事件触发器介绍的实现
Jun 05 Javascript
在浏览器中实现图片粘贴的jQuery插件-- pasteimg使用指南
Dec 29 Javascript
jquery延迟对象解析
Oct 26 Javascript
JavaScript正则表达式小结(test|match|search|replace|split|exec)
Dec 08 Javascript
bootstrap daterangepicker汉化以及扩展功能
Jun 15 Javascript
深入理解Vue2.x的虚拟DOM diff原理
Sep 27 Javascript
Django中使用jquery的ajax进行数据交互的实例代码
Oct 15 jQuery
vue.js给动态绑定的radio列表做批量编辑的方法
Feb 28 Javascript
vue学习笔记之过滤器的基本使用方法实例分析
Feb 01 Javascript
通过实例了解Render Props回调地狱解决方案
Nov 04 Javascript
vue中路由验证和相应拦截的使用详解
Dec 13 #Javascript
vue实现nav导航栏的方法
Dec 13 #Javascript
vue实现导航栏效果(选中状态刷新不消失)
Dec 13 #Javascript
仿京东快报向上滚动的实例
Dec 13 #Javascript
Angular2使用vscode断点调试ts文件的方法
Dec 13 #Javascript
vue-router路由懒加载和权限控制详解
Dec 13 #Javascript
JS+canvas画一个圆锥实例代码
Dec 13 #Javascript
You might like
《神奇女侠:血脉》神力女超人大战犯罪公司
2020/04/09 欧美动漫
asp(javascript)全角半角转换代码 dbc2sbc
2009/08/06 Javascript
Extjs学习笔记之六 面版
2010/01/08 Javascript
Jquery插件之打造自定义的select标签
2011/11/30 Javascript
通过JS来判断页面控件是否获取焦点
2014/01/03 Javascript
对 jQuery 中 data 方法的误解分析
2014/06/18 Javascript
JavaScript按值删除数组元素的方法
2015/04/24 Javascript
JavaScript检测并限制复选框选中个数的方法
2015/08/12 Javascript
JS实现密码框根据焦点的获取与失去控制文字的消失与显示效果
2015/11/26 Javascript
nodeJs爬虫获取数据简单实现代码
2016/03/29 NodeJs
详解JavaScript中的自定义事件编写
2016/05/10 Javascript
Bootstrap登陆注册页面开发教程
2016/07/12 Javascript
js实现文字截断功能
2016/09/14 Javascript
jquery插件treegrid树状表格的使用方法详解(.Net平台)
2017/01/03 Javascript
微信小程序获取微信运动步数的实例代码
2017/07/20 Javascript
vue mintui-Loadmore结合实现下拉刷新和上拉加载示例
2017/10/12 Javascript
纯js实现隔行变色效果
2017/11/29 Javascript
layui lay-verify form表单自定义验证规则详解
2019/09/18 Javascript
[01:02:26]DOTA2-DPC中国联赛 正赛 SAG vs RNG BO3 第二场 1月18日
2021/03/11 DOTA
详解MySQL数据类型int(M)中M的含义
2016/11/20 Python
理解Python中的绝对路径和相对路径
2017/08/30 Python
python实现人脸识别经典算法(一) 特征脸法
2018/03/13 Python
对python中执行DOS命令的3种方法总结
2018/05/12 Python
Pycharm无法显示动态图片的解决方法
2018/10/28 Python
对python 自定义协议的方法详解
2019/02/13 Python
python网络编程 使用UDP、TCP协议收发信息详解
2019/08/29 Python
解决Python二维数组赋值问题
2019/11/28 Python
python字符串常用方法及文件简单读写的操作方法
2020/03/04 Python
英国网上花店:Bunches
2016/11/29 全球购物
新学期校长寄语
2014/01/18 职场文书
双十佳事迹材料
2014/01/29 职场文书
产品质量承诺书范文
2014/03/27 职场文书
建国大业观后感
2015/06/01 职场文书
警示教育观后感
2015/06/17 职场文书
教师节主题班会教案
2015/08/17 职场文书
2016年幼儿园教师政治学习心得体会
2016/01/23 职场文书