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 相关文章推荐
javascript动态添加、修改、删除对象的属性与方法详解
Jan 27 Javascript
举例讲解AngularJS中的模块
Jun 17 Javascript
详解jQuery中的deferred对象的使用(一)
May 27 Javascript
学习使用Bootstrap栅格系统
May 11 Javascript
AngularJS基于provider实现全局变量的读取和赋值方法
Jun 28 Javascript
Vue + better-scroll 实现移动端字母索引导航功能
May 07 Javascript
JavaScript中创建原子的方法总结
Aug 26 Javascript
Javascript中绑定click事件的四种方式介绍
Oct 26 Javascript
ES6 对象的新功能与解构赋值介绍
Feb 05 Javascript
微信小程序使用canvas自适应屏幕画海报并保存图片功能
Jul 25 Javascript
jquery获取input输入框中的值
Nov 13 jQuery
vue项目接口域名动态获取操作
Aug 13 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
php mysql 判断update之后是否更新了的方法
2012/01/10 PHP
Yii2 rbac权限控制之菜单menu实例教程
2016/04/28 PHP
用JavaScript实现动画效果的方法
2013/07/20 Javascript
优化Node.js Web应用运行速度的10个技巧
2014/09/03 Javascript
jQuery实现无限往下滚动效果代码
2016/04/16 Javascript
微信小程序 加载 app-service.js 错误解决方法
2016/10/12 Javascript
js 中rewrap-ajax.js插件实例代码
2017/10/20 Javascript
vue 使用Jade模板写html,stylus写css的方法
2018/02/23 Javascript
vue树形结构获取键值的方法示例
2018/06/21 Javascript
在 Angular-cli 中使用 simple-mock 实现前端开发 API Mock 接口数据模拟功能的方法
2018/11/28 Javascript
微信小程序获取用户信息的两种方法wx.getUserInfo与open-data实例分析
2019/05/03 Javascript
在Vue 中获取下拉框的文本及选项值操作
2020/08/13 Javascript
Antd下拉选择,自动匹配功能的实现
2020/10/24 Javascript
解决vant的Toast组件时提示not defined的问题
2020/11/11 Javascript
学习python的几条建议分享
2013/02/10 Python
Django框架中处理URLconf中特定的URL的方法
2015/07/20 Python
Python字符编码判断方法分析
2016/07/01 Python
简单的python后台管理程序
2017/04/13 Python
python 为什么说eval要慎用
2019/03/26 Python
Python3.8中使用f-strings调试
2019/05/22 Python
Python csv模块使用方法代码实例
2019/08/29 Python
python实现把两个二维array叠加成三维array示例
2019/11/29 Python
关于Pytorch的MLP模块实现方式
2020/01/07 Python
Pycharm激活码激活两种快速方式(附最新激活码和插件)
2020/03/12 Python
python实现批量转换图片为黑白
2020/06/16 Python
Python下使用Trackbar实现绘图板
2020/10/27 Python
使用pandas实现筛选出指定列值所对应的行
2020/12/13 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
2021/03/03 Python
Python解析m3u8拼接下载mp4视频文件的示例代码
2021/03/03 Python
vue项目实现分页效果
2021/03/24 Vue.js
房地产开发项目建议书
2014/05/16 职场文书
会计学专业求职信
2014/07/17 职场文书
信用卡工作证明模板
2014/09/14 职场文书
党员反腐倡廉学习心得体会
2015/08/15 职场文书
《LOL》“克隆大作战”久违归来 幻灵战队皮肤上线
2022/04/03 其他游戏
vue3.0 数字翻牌组件的使用方法详解
2022/04/20 Vue.js