直接用iframe嵌套pdf预览模式(el-dialog和iframe一起使用)

这篇具有很好参考价值的文章主要介绍了直接用iframe嵌套pdf预览模式(el-dialog和iframe一起使用)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

项目场景:

直接用iframe嵌套pdf预览模式(el-dialog和iframe一起使用)


问题描述

iframe预览pdf,vue.js,javascript,ecmascript
页面布局代码:

 <!-- 预览弹窗 -->
    <el-dialog
      :show-close="true"
      :visible.sync="dialogVisible"
      custom-class="hotmapdialog"
      title="平台介绍"
      width="50%"
      modal
      center
      :append-to-body="false"
      destroy-on-close
    >
      <!-- 直接用iframe嵌套pdf预览模式 "#toolbar=0"是为了隐藏pdf的按钮  -->
      <div class="dialogtext">
        <iframe :src="this.iframeUrls + '#toolbar=0'" />
      </div>
      <span slot="footer" class="dialog-footer">
        <span class="text">下载</span>
      </span>
    </el-dialog>

接口代码:

//记得这里要给后端传的是文件链接,传参可以是get也可以是post的形式
 export function previewByUrl(params) {//previewByUrl是自己定义的接口名字
  return request({
    url:"接口链接",
    method: 'get',
    params,
    responseType: "blob"//!!!重点是这句话,一定要加
  })
}

接口返回:文章来源地址https://www.toymoban.com/news/detail-602253.html

//记得这里要给后端传的是文件链接,传参可以是get也可以是post的形式
  previewByUrl({ previewUrl: this.Platformlink }).then((res) => {//previewUrl是后端要的字段    this.Platformlink是传给后端的文件链接
        const blob = new Blob([res], { type: "application/pdf" });
        // 展示二进制流
        this.iframeUrls = window.URL.createObjectURL(blob);
        //把后端返回的东西转化成二进制流,在iframe的src里面把 this.iframeUrls 传进去即可
      })

到了这里,关于直接用iframe嵌套pdf预览模式(el-dialog和iframe一起使用)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • element UI组件库el-dialog内程序刷新el-dialog内组件方法

    1、牢牢记住,vue是基于JavaScript ES6的,所以只要刷新页面里面data下的数据,页面会自动刷新的。 所以这个数据是父页面传给el-dialog的,要刷新父页面的数据,el-dialog页面内的组件就可以刷新了。 2、在页面的组件处理后台程序完成后,可以调用 that.$parent.$parent.【父页面的方

    2024年02月13日
    浏览(31)
  • el-dialog固定高度

    el-dialog默认高度是自由拉伸的,当内容超过屏幕时会出现滚动条,按钮和标题都会随着滚动,用户体验不好。 如下图 现在要实现一种窗口高度固定,内容滚动的方式,如下直接在内容上套一层div并加上自定义样式el-dialog-div 效果如下

    2024年02月12日
    浏览(27)
  • el-dialog无法关闭

     代码如下,:visible.sync=\\\"result2DeptVisible\\\"来控制dialog的隐显问题,但当点击关闭的时候 ,无法关闭!! 检查了一下data属性如下: 原来是data中没有定义 result2DeptVisible属性导致的。添加result2DeptVisible:false即可。   总结:dom页面上使用的变量尽量按照要求在data中进行定义避免出

    2024年02月09日
    浏览(29)
  • elementui 修改el-dialog样式

    方案一、(如果添加append-to-body属性,则此方案不生效)               在el-dialog外层添加一个父盒子比如class=\\\'batch-box\\\',然后在style scoped中用::v-deep();     具体代码如下:                .batch-box{                    ::v-deep(.el-dialog__body){                          max

    2024年02月16日
    浏览(38)
  • el-dialog对话框子组件的关闭

    在子组件对话框中 用:before-close关闭对话框,取消按键绑定点击事件 子组件把\\\"close\\\"事件传给父组件  父组件中@close接收子组件传来的“close”事件 

    2024年02月12日
    浏览(29)
  • VUE宝典之el-dialog使用

    el-dialog是Element UI库中的一个重要组件,用于在Vue应用程序中创建弹出框。它提供了一组实用的属性和事件,让我们能够轻松地实现各种弹出框功能。本文将详细介绍el-dialog组件的使用方法和示例,帮助您更好地理解如何在实际项目中使用它。 el-dialog是一个非常灵活的弹出框

    2024年02月04日
    浏览(28)
  • el-loading在el-dialog上使用

    全局loading 使用v-loading指令方式,因为Dialog的最外层元素是全屏,故遮罩为全屏。 局部loading 使用服务方式时,传入dialog DOM 节点,遮罩在dialog处。

    2024年02月14日
    浏览(30)
  • 在el-dialog编辑界面el-upload跳动问题

    el-dialog中有子组件el-upload,并且做了只能显示一个文件的限制 这是因为之前打开的dialog中,文件仍旧在,新一次的打开的文件把上一次顶掉了,所以产生跳动。 解决方案: 在dialog中绑定关闭事件,清空el-upload的文件列表。 因为动画效果增加了height,导致el-dialog的滚动条出现

    2024年02月02日
    浏览(25)
  • Element ui关闭el-dialog时清除数据

    如果是按叉叉关闭或者点表单以外空白处关闭的话 可以给el-dialog添加    在methods里添加函数 如果是按取消按钮清除数据,也可以给取消按钮绑定点击事件,点击取消则调用closeForm函数。 注意: 要为每个 form-item 加上 prop 属性,要不然无法清空 resetFields() 方法是重置表单,重

    2024年02月11日
    浏览(34)
  • 【element-ui】el-dialog改变宽度

    dialog默认宽度为父元素的50%,这就导致在移动端会非常的窄,如图1,需要限定宽度。 解决方法:添加 custom-class 属性,然后在style中编写样式, 注意 ,如果有 scoped 限定,需要加 ::v-deep

    2024年02月11日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包