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 相关文章推荐
JavaScript 动态创建VML的方法
Oct 14 Javascript
javascript算法学习(直接插入排序)
Apr 12 Javascript
JS组件Bootstrap Select2使用方法详解
Apr 17 Javascript
javascript 分号总结及详细介绍
Sep 24 Javascript
微信小程序 swiper组件详解及实例代码
Oct 25 Javascript
js实现图片上传预览原理分析
Jul 13 Javascript
JavaScript仿微信(电话)联系人列表滑动字母索引实例讲解(推荐)
Aug 16 Javascript
Vue与Node.js通过socket.io通信的示例代码
Jul 25 Javascript
如何用原生js写一个弹窗消息提醒插件
May 24 Javascript
vue+element加入签名效果(移动端可用)
Jun 17 Javascript
微信小程序点击保存图片到本机功能
Dec 13 Javascript
JavaScript 实现继承的几种方式
Feb 19 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
PHP实现将视频转成MP4并获取视频预览图的方法
2015/03/12 PHP
php中get_defined_constants函数用法实例分析
2015/05/12 PHP
TP(thinkPHP)框架多层控制器和多级控制器的使用示例
2018/06/13 PHP
深入聊聊Array的sort方法的使用技巧.详细点评protype.js中的sortBy方法
2007/04/12 Javascript
ASP SQL防注入的方法
2008/12/25 Javascript
Javascript 跨域访问解决方案
2009/02/14 Javascript
jquery 表单取值常用代码
2009/12/22 Javascript
jQuery下通过replace字符串替换实现大小图片切换
2012/05/22 Javascript
setTimeout的延时为0时多个浏览器的区别
2012/05/23 Javascript
jquery实现点击页面计算点击次数
2015/01/23 Javascript
js实现右下角提示框的方法
2015/02/03 Javascript
AngularJS 模块详解及简单实例
2016/07/28 Javascript
利用Three.js如何实现阴影效果实例代码
2017/09/26 Javascript
详解vue mint-ui源码解析之loadmore组件
2017/10/11 Javascript
微信小程序npm引入vant-weapp的踩坑记录
2019/08/01 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
2019/11/26 Javascript
[01:01:01]完美世界DOTA2联赛循环赛 GXR vs FTD BO2第一场 10.29
2020/10/29 DOTA
Python中import机制详解
2017/11/14 Python
使用Python写一个小游戏
2018/04/02 Python
pycharm 解除默认unittest模式的方法
2018/11/30 Python
Python3.6中Twisted模块安装的问题与解决
2019/04/15 Python
Python实现EXCEL表格的排序功能示例
2019/06/25 Python
PyQt5 QTableView设置某一列不可编辑的方法
2019/06/25 Python
tensorflow指定CPU与GPU运算的方法实现
2020/04/21 Python
Python实现敏感词过滤的4种方法
2020/09/12 Python
工商管理专业学生的自我评价
2013/10/01 职场文书
安踏广告词改编版
2014/03/21 职场文书
篮球社团活动总结
2014/06/27 职场文书
2014年大学生职业规划书:未来不是梦,只要勇敢冲!
2014/09/22 职场文书
带香烟到学校抽的检讨书
2014/09/25 职场文书
2014年幼儿园德育工作总结
2014/12/17 职场文书
盗窃案辩护词
2015/05/21 职场文书
主题班会开场白
2015/06/01 职场文书
高三化学教学反思
2016/02/22 职场文书
教师个人教学反思
2016/02/23 职场文书
十大好看的穿越动漫排名:《瑞克和莫蒂》第一,国漫《有药》在榜
2022/03/18 日漫