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 checkbox全选、取消全选实现代码
Mar 05 Javascript
很好用的js日历算法详细代码
Mar 07 Javascript
Jquery 模拟用户点击超链接或者按钮的方法
Oct 25 Javascript
jQuery照片伸缩效果不影响其他元素的布局
May 09 Javascript
js中将String转换为number以便比较
Jul 08 Javascript
javascript获取dom的下一个节点方法
Sep 05 Javascript
JavaScript使用位运算符判断奇数和偶数的方法
Jun 01 Javascript
IScroll5 中文API参数说明和调用方法
May 21 Javascript
Bootstrap Table使用方法详解
Aug 01 Javascript
node.js请求HTTPS报错:UNABLE_TO_VERIFY_LEAF_SIGNATURE\的解决方法
Dec 18 Javascript
JavaScript 巧学巧用
May 23 Javascript
JS简单实现查看文档创建日期、修改日期和文档大小的方法示例
Apr 08 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
Yii不依赖Model的表单生成器用法实例
2014/12/04 PHP
yii实现使用CUploadedFile上传文件的方法
2015/12/28 PHP
详解WordPress中的头像缓存和代理中的缓存更新方法
2016/03/01 PHP
Zend Framework实现多服务器共享SESSION数据的方法
2016/03/22 PHP
PHP随机数 C扩展随机数
2016/05/04 PHP
extjs grid取到数据而不显示的解决
2008/12/29 Javascript
含有CKEditor的表单如何提交
2014/01/09 Javascript
jquery自动填充勾选框即把勾选框打上true
2014/03/24 Javascript
AngularJS 路由和模板实例及路由地址简化方法(必看)
2016/06/24 Javascript
AngularJS入门之动画
2016/07/27 Javascript
javascript中异常处理案例(推荐)
2016/10/03 Javascript
vue.js  父向子组件传参的实例代码
2017/10/29 Javascript
基于Vue的ajax公共方法(详解)
2018/01/20 Javascript
图解javascript作用域链
2019/05/27 Javascript
javascript中this的用法实践分析
2019/07/29 Javascript
js实现选项卡效果
2020/03/07 Javascript
详解关于Vue单元测试的几个坑
2020/04/26 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
2020/10/30 Javascript
[01:05:56]2018DOTA2亚洲邀请赛3月29日 小组赛A组 Newbee VS VG
2018/03/30 DOTA
零基础学Python(一)Python环境安装
2014/08/20 Python
python中abs&amp;map&amp;reduce简介
2018/02/20 Python
Python 中的Selenium异常处理实例代码
2018/05/03 Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
2020/08/24 Python
Java Unsafe类实现原理及测试代码
2020/09/15 Python
python中os.remove()用法及注意事项
2021/01/31 Python
《听鱼说话》教学反思
2014/02/15 职场文书
机修车间主任岗位职责
2015/04/08 职场文书
同学聚会通知书
2015/04/20 职场文书
2015年会计年终工作总结
2015/05/26 职场文书
新郎婚礼致辞
2015/07/27 职场文书
遗嘱格式范本
2015/08/07 职场文书
go语言基础 seek光标位置os包的使用
2021/05/09 Golang
详解JavaScript中Arguments对象用途
2021/08/30 Javascript
Python实现Excel文件的合并(以新冠疫情数据为例)
2022/03/20 Python
Python使用Beautiful Soup(BS4)库解析HTML和XML
2022/06/05 Python
MySQL transaction事务安全示例讲解
2022/06/21 MySQL