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 相关文章推荐
JQuery一种取同级值的方式(比如你在GridView中)
Mar 15 Javascript
js操作checkbox遇到的问题解决
Jun 29 Javascript
jquery scroll()区分横向纵向滚动条的方法
Apr 04 Javascript
Javascript 实现图片无缝滚动
Dec 19 Javascript
AngularJs 60分钟入门基础教程
Apr 03 Javascript
js实现截图保存图片功能的代码示例
Feb 16 Javascript
vue中的scope使用详解
Oct 29 Javascript
浅谈vue-router2路由参数注意的问题
Nov 08 Javascript
Vue2 SSR渲染根据不同页面修改 meta
Nov 20 Javascript
VUE 配置vue-devtools调试工具及安装方法
Sep 30 Javascript
vue实现的仿淘宝购物车功能详解
Jan 27 Javascript
layer页面跳转,获取html子节点元素的值方法
Sep 27 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
这东西价格,可以买几台TECSUN S-2000
2021/03/02 无线电
一个用于MySQL的PHP XML类
2006/10/09 PHP
弄了个检测传输的参数是否为数字的Function
2006/12/06 PHP
Session的工作机制详解和安全性问题(PHP实例讲解)
2014/04/10 PHP
php通过文件流方式复制文件的方法
2015/03/13 PHP
基于PHP实现等比压缩图片大小
2016/03/04 PHP
PHP实现将多个文件中的内容合并为新文件的方法示例
2017/06/10 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
2017/11/17 PHP
PHP自定义序列化接口Serializable用法分析
2017/12/29 PHP
ThinkPHP5.1的权限控制怎么写?分享一个AUTH权限控制
2021/03/09 PHP
jQuery EasyUI API 中文文档 - Menu菜单
2011/10/03 Javascript
javascript自适应宽度的瀑布流实现思路
2013/02/20 Javascript
js实现鼠标划过给div加透明度的方法
2015/05/25 Javascript
JS+CSS实现大气清新的滑动菜单效果代码
2015/10/22 Javascript
JavaScript函数学习总结以及相关的编程习惯指南
2015/11/16 Javascript
jquery if条件语句的写法
2016/05/19 Javascript
详解JS中的attribute属性
2017/04/25 Javascript
JavaScript编写棋盘覆盖代码详解
2017/08/28 Javascript
Vue基于NUXT的SSR详解
2017/10/24 Javascript
Vue中jsx不完全应用指南小结
2019/11/01 Javascript
JavaScript中的this原理及6种常见使用场景详解
2020/02/14 Javascript
[02:49]2018DOTA2亚洲邀请赛主赛事决赛日战况回顾 Mineski鏖战5局夺得辉耀
2018/04/10 DOTA
[01:23]2019完美世界全国高校联赛(春季赛)合肥全国总决赛
2019/06/10 DOTA
[01:06]DOTA2小知识课堂 Ep.01 TP出门不要忘记帮队友灌瓶哦
2019/12/05 DOTA
Python Flask框架扩展操作示例
2019/05/03 Python
Python之修改图片像素值的方法
2019/07/03 Python
基于python图像处理API的使用示例
2020/04/03 Python
python 进程池pool使用详解
2020/10/15 Python
css3 box-sizing属性使用参考指南
2013/01/08 HTML / CSS
英国领先的在线高尔夫商店:Scottsdale Golf
2019/08/26 全球购物
汽车运用工程专业求职信
2014/06/18 职场文书
体育课外活动总结
2014/07/08 职场文书
甘南现象心得体会
2014/09/11 职场文书
迎国庆演讲稿
2014/09/15 职场文书
学校党支部承诺书
2015/04/30 职场文书
作弊检讨书范文
2015/05/06 职场文书