vue使用iframe嵌入网页的示例代码


Posted in Javascript onJune 09, 2020

1、列表页面:

this.$router.push({ name: 'userTemplate', params: { reportUrl: reportUrl, reportType: reportType }})

点击查看后触发事件,带入参数跳转到userTemplate页面;reportType有两种类型,0表示reportUrl是绝对网址,1表示reportUrl是本地html文件。

2、userTemplate页面:

<template>
 <div> 
  <iframe v-if="reportType==0" name = "child" id = "child" v-bind:src="reportUrl"
  width="auto" height="300"
   frameborder="0" scrolling="no" style="position:absolute;top:80px;left: 30px;"
  ></iframe>
 
 <div v-if="reportType==1" v-html="htmlContent"
 width="auto" height="300" scrolling="no" style="position:absolute;top:80px;left: 30px;"></div>
 
 </div>
</template>
 
<script>
import {
 getFile
} from '@/api/report'
export default {
 mounted() {
  /**
   * iframe-宽高自适应显示
   */
  function changeMobsfIframe() {
   const mobsf = document.getElementById('child')
   const deviceWidth = document.body.clientWidth
   const deviceHeight = document.body.clientHeight
   mobsf.style.width = (Number(deviceWidth) - 30) + 'px' // 数字是页面布局宽度差值
   mobsf.style.height = (Number(deviceHeight) - 80) + 'px' // 数字是页面布局高度差
  }
 
  changeMobsfIframe()
 
  window.onresize = function() {
   changeMobsfIframe()
  }
 },
 
 data() {
  return {
   htmlContent: '',
   reportUrl: '',
   reportType: ''
  }
 },
 created() {
  // this.fileName = '../static/file/' + this.$route.params.report_url
  this.reportUrl = this.$route.params.reportUrl
  this.reportType = this.$route.params.reportType
  if (this.reportType == 1) {
   getFile(this.reportUrl).then(res => {
    if (res.code === 200) {
     this.htmlContent = res.data
    }
   })
  }
 }
}
</script>
 
<style rel="stylesheet/scss" lang="scss" scoped>
 
</style>

后端getFile:

//读取文件
 @RequestMapping("/getFile")
  @ResponseBody
 public HttpResult getFile(String reportUrl){
  StringBuilder result = new StringBuilder();
     try{
     
     FileSystemResource resource = new FileSystemResource("D:"+File.separator+"test"+File.separator+reportUrl);
     File file = resource.getFile();
       BufferedReader br = new BufferedReader(new FileReader(file));
       String s = null;
       while((s = br.readLine())!=null){
         result.append(System.lineSeparator()+s);
       }
       br.close();  
       return HttpResult.getSuccessInstance(result);
     }catch(Exception e){
       e.printStackTrace();
       return HttpResult.getFailedInstance("读取异常");
     } 
 }

 到此这篇关于vue使用iframe嵌入网页的示例代码的文章就介绍到这了,更多相关vue使用iframe嵌入网页内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
出现“不能执行已释放的Script代码”错误的原因及解决办法
Aug 29 Javascript
JavaScript游戏之优化篇
Nov 08 Javascript
用Jquery实现多级下拉框无刷新的联动
Dec 22 Javascript
jQuery拖拽 &amp; 弹出层 介绍与示例
Dec 27 Javascript
基于jQuery实现Tabs选项卡自定义插件
Nov 21 Javascript
过期软件破解办法实例详解
Jan 04 Javascript
Vue数据驱动模拟实现4
Jan 12 Javascript
关于vuex的学习实践笔记
Apr 05 Javascript
修改node.js默认的npm安装目录实例
May 15 Javascript
js实现敏感词过滤算法及实现逻辑
Jul 24 Javascript
小程序接口的promise化的实现方法
Dec 11 Javascript
测量JavaScript函数的性能各种方式对比
Apr 27 Javascript
JavaScript实现区块链
Mar 14 #Javascript
iview table render集成switch开关的实例
Mar 14 #Javascript
解决Vue.js 2.0 有时双向绑定img src属性失败的问题
Mar 14 #Javascript
Vue.js 动态为img的src赋值方法
Mar 14 #Javascript
基于datepicker定义自己的angular时间组件的示例
Mar 14 #Javascript
vue 过滤器filter实例详解
Mar 14 #Javascript
vue页面切换到滚动页面显示顶部的实例
Mar 13 #Javascript
You might like
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
2013/04/28 PHP
各种效果的jquery ui(接口)介绍
2008/09/17 Javascript
用Javascript数组处理多个字符串的连接问题
2009/08/20 Javascript
JavaScript 图像动画的小demo
2012/05/23 Javascript
js限制文本框输入长度两种限制方式(长度、字节数)
2012/12/19 Javascript
js中页面的重新加载(当前页面/上级页面)及frame或iframe元素引用介绍
2013/01/24 Javascript
JS对HTML标签select的获取、添加、删除操作
2013/10/17 Javascript
$(&quot;&quot;).click与onclick的区别示例介绍
2014/09/25 Javascript
JavaScript中反正弦函数Math.asin()的使用简介
2015/06/14 Javascript
js实现图片放大和拖拽特效代码分享
2015/09/05 Javascript
jQuery插件Timelinr 实现时间轴特效
2015/10/04 Javascript
分享JavaScript与Java中MD5使用两个例子
2015/12/23 Javascript
node.js实现快速截图
2016/08/27 Javascript
Bootstrap基本组件学习笔记之按钮组(8)
2016/12/07 Javascript
tween.js缓动补间动画算法示例
2018/02/13 Javascript
d3.js实现自定义多y轴折线图的示例代码
2018/05/30 Javascript
javascript原型链学习记录之继承实现方式分析
2019/05/01 Javascript
scrapyd schedule.json setting 传入多个值问题
2019/08/07 Javascript
[51:34]Ti4主赛事胜者组 DK vs EG 2
2014/07/19 DOTA
Python中3种内建数据结构:列表、元组和字典
2014/11/30 Python
python抓取文件夹的所有文件
2018/02/27 Python
python表格存取的方法
2018/03/07 Python
Selenium 模拟浏览器动态加载页面的实现方法
2018/05/16 Python
Python类和对象的定义与实际应用案例分析
2018/12/27 Python
python中对数据进行各种排序的方法
2019/07/02 Python
python 数据生成excel导出(xlwt,wlsxwrite)代码实例
2019/08/23 Python
PyTorch中Tensor的数据类型和运算的使用
2020/09/03 Python
用Python写一个for循环的例子
2016/07/19 面试题
计算机专业个人求职信范例
2013/09/23 职场文书
2015年公民道德宣传日活动总结
2015/03/23 职场文书
东京审判观后感
2015/06/01 职场文书
2016年“6.26”禁毒宣传月系列活动总结
2016/04/05 职场文书
Python3 类型标注支持操作
2021/06/02 Python
Python实现GIF动图以及视频卡通化详解
2021/12/06 Python
《艾尔登法环》1.03.3补丁上线 碎星伤害调整
2022/04/06 其他游戏
SpringBoot集成MongoDB实现文件上传的步骤
2022/04/18 MongoDB