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 相关文章推荐
jQuery 源码分析笔记(6) jQuery.data
Jun 08 Javascript
不要使用jQuery触发原生事件的方法
Mar 03 Javascript
常用的jQuery前端技巧收集
Dec 24 Javascript
jQuery根据用户电脑是mac还是pc加载对应样式的方法
Jun 26 Javascript
探究JavaScript函数式编程的乐趣
Dec 14 Javascript
jQuery animate()实现背景色渐变效果的处理方法【使用jQuery.color.js插件】
Mar 15 Javascript
浅谈pc端rem字体设置的问题
Aug 03 Javascript
node.js博客项目开发手记
Mar 16 Javascript
vue系列之requireJs中引入vue-router的方法
Jul 18 Javascript
CountUp.js数字滚动插件使用方法详解
Oct 17 Javascript
JavaScript中this函数使用实例解析
Feb 21 Javascript
vue+vuex+axios从后台获取数据存入vuex,组件之间共享数据操作
Jul 31 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学习笔记之 函数声明(二)
2011/06/09 PHP
php中JSON的使用与转换
2015/01/14 PHP
PHP将页面中点击数量高的链接进行高亮显示的方法
2016/05/30 PHP
Yii2实现同时搜索多个字段的方法
2016/08/10 PHP
关于IE、Firefox、Opera页面呈现异同 写脚本很痛苦
2009/08/28 Javascript
解决Extjs上传图片无法预览的解决方法
2012/03/22 Javascript
YUI模块开发原理详解
2013/11/18 Javascript
基于javascript滚动图片具体实现
2013/11/18 Javascript
基于Vue2的独立构建与运行时构建的差别(详解)
2017/12/06 Javascript
RxJS的入门指引和初步应用
2019/06/15 Javascript
vue+element表格导出为Excel文件
2019/09/26 Javascript
Vue使用轮询定时发送请求代码
2020/08/10 Javascript
[05:39]2014DOTA2国际邀请赛 DK晋级胜者组专访战队国士无双
2014/07/14 DOTA
[04:47]DOTA2-潍坊风行电子俱乐部探秘
2014/08/08 DOTA
[48:31]完美世界DOTA2联赛PWL S3 DLG vs Phoenix 第二场 12.17
2020/12/19 DOTA
Python字符转换
2008/09/06 Python
sqlalchemy对象转dict的示例
2014/04/22 Python
Python3 正在毁灭 Python的原因分析
2014/11/28 Python
python通过定义一个类实例作为ftp回调方法
2015/05/04 Python
python 函数传参之传值还是传引用的分析
2017/09/07 Python
Python实现PS图像明亮度调整效果示例
2018/01/23 Python
Django的HttpRequest和HttpResponse对象详解
2018/01/26 Python
python如何派生内置不可变类型并修改实例化行为
2018/03/21 Python
python 每天如何定时启动爬虫任务(实现方法分享)
2018/05/21 Python
Python下简易的单例模式详解
2019/04/08 Python
Flask框架学习笔记之使用Flask实现表单开发详解
2019/08/12 Python
浅析Python3 pip换源问题
2020/01/06 Python
python随机模块random使用方法详解
2020/02/14 Python
JAVA及PYTHON质数计算代码对比解析
2020/06/10 Python
纯CSS3实现圆角效果(含IE兼容解决方法)
2014/05/07 HTML / CSS
时尚孕妇装:Ingrid & Isabel
2019/05/08 全球购物
深圳-东方伟业笔试部分
2015/02/11 面试题
农田水利实习自我鉴定
2013/09/19 职场文书
道路交通安全实施方案
2014/03/12 职场文书
班子四风对照检查材料思想汇报
2014/09/29 职场文书
Python实现生成bmp图像的方法
2021/06/13 Python