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 相关文章推荐
利用ajaxfileupload插件实现文件上传无刷新的具体方法
Jun 08 Javascript
node.js中的fs.readSync方法使用说明
Dec 17 Javascript
JavaScript类型系统之正则表达式
Jan 05 Javascript
很全面的JavaScript常用功能汇总集合
Jan 22 Javascript
JavaScript 正则表达式中global模式的特性
Feb 25 Javascript
JavaScript的六种继承方式(推荐)
Jun 26 Javascript
JavaScript正则表达式和级联效果
Sep 14 Javascript
iframe与主框架跨域相互访问实现方法
Sep 14 Javascript
基于vue1和vue2获取dom元素的方法
Mar 17 Javascript
Angular中使用ng-zorro图标库部分图标不能正常显示问题
Apr 22 Javascript
vue跳转页面的几种方法(推荐)
Mar 26 Javascript
Vue3中的Refs和Ref详情
Nov 11 Vue.js
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/12/19 PHP
php去除换行符的方法小结(PHP_EOL变量的使用)
2013/02/16 PHP
php中通过eval实现字符串格式的计算公式
2017/03/18 PHP
php+Ajax处理xml与json格式数据的方法示例
2019/03/04 PHP
PHP CURL使用详解
2019/03/21 PHP
js打印纸函数代码(递归)
2010/06/18 Javascript
JS实现动态修改table及合并单元格的方法示例
2017/02/20 Javascript
canvas实现环形进度条效果
2017/03/23 Javascript
原生js封装自定义滚动条
2017/03/24 Javascript
js利用for in循环获取 一个对象的所有属性以及值的实例
2017/03/30 Javascript
JavaScript实现无刷新上传预览图片功能
2017/08/02 Javascript
把JavaScript代码改成ES6语法不完全指南(分享)
2017/09/10 Javascript
实现图片首尾平滑轮播(JS原生方法—节流)
2017/10/17 Javascript
Vue的移动端多图上传插件vue-easy-uploader的示例代码
2017/11/27 Javascript
js阻止默认右键的下拉菜单方法
2018/01/02 Javascript
微信小程序项目实践之九宫格实现及item跳转功能
2018/07/19 Javascript
详解async/await 异步应用的常用场景
2019/05/13 Javascript
[04:27]2014DOTA2国际邀请赛 NAVI战队官方纪录片
2014/07/21 DOTA
在Python的Django框架上部署ORM库的教程
2015/04/20 Python
在Python中编写数据库模块的教程
2015/04/29 Python
PyQt 线程类 QThread使用详解
2017/07/16 Python
Python中进程和线程的区别详解
2017/10/29 Python
python实现日常记账本小程序
2018/03/10 Python
Python3 文章标题关键字提取的例子
2019/08/26 Python
python pygame实现球球大作战
2019/11/25 Python
Python拼接字符串的7种方式详解
2020/03/19 Python
购买限量版收藏品、珠宝和礼品:Bradford Exchange
2016/09/23 全球购物
Looking4Parking美国:全球排名第一的机场停车比较品牌
2019/08/26 全球购物
实习护理工作自我评价
2013/09/25 职场文书
致800米运动员广播稿
2014/02/16 职场文书
销售经理竞聘书
2014/03/31 职场文书
关于迟到的检讨书
2015/05/06 职场文书
2015年统战工作总结
2015/05/19 职场文书
事业单位岗位说明书
2015/10/08 职场文书
小学班级口号大全
2015/12/25 职场文书
纯CSS实现酷炫的霓虹灯效果
2021/04/13 HTML / CSS