PC端实现用pdfjs下载文件,为什么移动端点击没反应

20 篇文章 0 订阅
6 篇文章 0 订阅
文章描述了一个在Vue项目中添加PDF预览和下载功能的过程,但在移动端点击下载按钮没有反应。开发者求助于解决PC端正常但移动端下载失效的问题。
摘要由CSDN通过智能技术生成

在上文预览PDF的基础上加下载文件功能,预览PDF链接

效果图

在这里插入图片描述

预览页面

在这里插入图片描述
搁着多传一个字段过去,作为下载的路径window.URL.createObjectURL(blob)。

下载界面

在这里插入图片描述
代码

<template>
    <view>
        <div class="preview">
            <iframe :src="allUrl" width="100%" height="92%" frameborder="0"></iframe>

            <a class="button" @click="download">下载</a>
        </div>
    </view>
</template>

<script setup>
import {onMounted, ref} from "vue"
import {useRoute} from 'vue-router';
import {showToast} from "vant";

const route = useRoute();

const allUrl = ref("")

onMounted(() => {
    allUrl.value = (import.meta.env.DEV ? '/hybrid/html/web/viewer.html?file=' : '/mobile/hybrid/html/web/viewer.html?file=') + route.query.url;
})

const download = () => {

    let name = '实例.pdf'
    let a = document.createElement('a')
    // 通过二进制文件创建url
    a.href =  route.query.pdfData
    a.download = name
    a.click()
    // 销毁创建的url
    window.URL.revokeObjectURL( route.query.pdfData)

}

</script>


<style>
.preview {
    width: 100%;
    height: 100%;
    text-align: center;

    .button {
        width: 90%;
        line-height: 40px;
        margin: 15px 5%;
        position: fixed;
        bottom: 0;
        left: 0;
        border: 1px solid #bfbfbf;
    }
}
</style>

在线问

pc端没问题,为什么移动端点击下载后没反应哇??
pc端没问题,为什么移动端点击下载后没反应哇??
pc端没问题,为什么移动端点击下载后没反应哇??

  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在Vue3中使用Element Plus实现PC端登录页面适配移动端的方法如下: 1. 首先,你可以使用postcss-pxtorem插件来实现移动端适配。在项目中安装并配置好该插件,可以将设计稿上的像素值直接写入样式中,插件会自动将其转换为适配移动端的单位。 2. 对于PC端,可以在配置中排除该插件的影响,以避免对PC端样式的影响。一般来说,PC端不需要进行太多的适配,可以设置一个最小宽度,当用户的屏幕宽度小于该值时出现滚动条,以保持布局的稳定性。 3. 在编写HTML和CSS代码时,需要根据不同的设备(PC和移动端)编写不同的代码。可以通过判断设备类型来加载不同的HTML和CSS文件,或者使用媒体查询来适配不同的屏幕尺寸。 总结起来,你可以使用postcss-pxtorem插件来实现移动端适配,同时在PC端排除该插件的影响。根据不同的设备类型,编写不同的HTML和CSS代码来实现PC端登录页面的适配移动端。 #### 引用[.reference_title] - *1* *3* [vue3.0 + ts 项目实现pc端移动端的适配+判断设备](https://blog.csdn.net/qq_46143850/article/details/117107129)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [vue使用Element-UI部分组件适配移动端](https://blog.csdn.net/m0_46627730/article/details/108015137)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海鸥两三

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值