解决uniapp开发微信小程序预览pdf文件ios\安卓兼容问题
问题
项目需要用uniapp来开发微信小程序,其中,有一个功能是预览pdf, 后台以链接形式返回pdf地址,一开始使用web-view做链接跳转,但是出现ios文件可以正常打开,android打不开的情况,本来想用pdf.js做,后来发现微信自带的有一个API可以打开文档,于是就试了下。
解决方法
wx.downloadFile({url: 'https://xxxx.xx/example.pdf',success: function(res) {const filePath = res.tempFilePath;wx.openDocument({filePath: filePath,success: function(res) {console.log('打开文档成功');}});}});
新问题
这样做之后,是没有问题的,安卓、ios都可以正常打开文件。但是,因为我是从A页面点击,跳转到B页面,把链接带到B页面,B页面嵌入web-view, 所以安卓在点击左上角返回的时候就会出现返回到空白页的情况。但是IOS就不会出现,我继续改!
新解决方法
我就在A页面判断一下手机的系统,如果是安卓就不用跳到B页面,直接用微信小程序API打开,如果是ios,就跳到B页面,用web-view打开。
uni.getSystemInfo({success: res => {console.log(res.platform);if (res.platform === 'android') {wx.downloadFile({url: this.fileUrl,success: function(res) {const filePath = res.tempFilePath;wx.openDocument({filePath: filePath,success: function(res) {console.log('打开文档成功');}});}});} else {// this.url = this.fileUrl;uni.navigateTo({url: '../webView/webView?DataPath=' + val.DataPath});}}});
参考链接: https://blog.csdn.net/qq_41575586/article/details/103903735.
解决uniapp开发微信小程序预览pdf文件ios\安卓兼容问题相关推荐
- 【预览pdf】:uniapp在微信小程序预览pdf,兼容安卓/IOS
前言 提示:因最近项目需求,项目需要用uniapp来开发微信小程序预览pdf的功能, 后端以链接形式返回pdf地址. 一.方法概述 开始用uniapp提供微信自带方法:wx.downloadFile( ...
- 微信小程序预览pdf功能实现
原理就是将pdf下载下来然后调用微信浏览器来实现打开功能 showPdf: function (otption) {var url = otption.currentTarget.dataset.in ...
- 微信小程序预览无法播放视频
微信小程序预览无法播放视频,但是用开发工具可以播放,真机调试也可以播放,是因为勾选了"不校验合法域名.web-view(业务域名).TLS 版本以及 HTTPS 证书"吗?
- uniapp开发微信小程序分享功能
记一次uniapp开发微信小程序遇到的问题, 问题: 关于button的分享属性, 在HbuilderX中开发时,直接将button覆盖在image上,将button设置为透明,可以直接实现分享功能, ...
- uniapp开发微信小程序,引用微信物理查询插件
使用uniapp开发微信小程序,引用微信官方提供的物流查询插件 开发时遇到的问题: 项目内有两个分包都有使用物流查询插件,所以插件的引入只能放在manifest.json>mp-weixin里面 ...
- uniapp开发微信小程序保存文件方案总结
uniapp开发微信小程序保存文件方案总结 1.需求背景 最近正使用uniapp开发微信小程序项目,现需要保存文件. 解决方案 // 方法如下,filePath:文件地址:uni.authorize( ...
- 使用uniapp 开发微信小程序map组件在开发过程中遇到的问题
** 使用uniapp 开发微信小程序map组件在开发过程中遇到的问题 [菜鸟记录] ** 发现的问题: 如果给map设置初始化scale的话,手指缩放地图后,点击按钮让地图再次回到和初始化一样的 s ...
- uni-app开发微信小程序真机调试请求超时请求被拒绝
uni-app开发微信小程序真机调试请求超时&请求被拒绝 小程序开发真机调试问题 一.问题描述 二.解决 一.请求被拒绝 二.请求超时 一.问题描述 在利用uni-app开发小程序时,写好的程 ...
- uniapp开发微信小程序设置分包,简单易学(图解)
我们使用uniapp开发微信小程序的时候,当我们的包体积过大的时候,无法真机模拟 因为小程序单个包只支持2MB,所以这时候我们要选择去分包. 有人要问了分包难吗?分包很简单.但是 最重要的来了,分包这 ...
最新文章
- 武汉工程大学认识实习报告计算机,武汉工程大学化工认识实习报告
- IDNO简单生成方法
- 实验室启动postgresql 8.4备忘
- VC Studio 使用技巧大全(转)
- UNIX再学习 -- 标准I/O
- Microsoft Ajax Beta1 - 边学边用边补充 (Part 2 - DragDropList)
- oracle中错位函数,Oracle中的一些函数
- 计算方法matlab编程徐萃薇,计算方法课程设计--用Newton插值多项式处理磁化曲线.docx...
- Rancher助力美国农业部的容器实践之路
- 海报设计素材模板|炫彩创意PSD分层时尚艺术海报 ​​​​
- 写入Visual Studio的输出窗口
- 2月10日 感知器+浅层神经网络+反向传播+tensorflow
- 酷源KYCMS内容网站管理系统
- 计算机实训报告英语,英文计算机实习证明格式
- 全球首次互联网8K直播,阿里工程师如何实现?
- 百家号如何提高推荐量和阅读量,百家号提高推荐量和阅读量的方法
- 达科为在创业板递交注册申请:拟募资8亿元,吴庆军父女为实控人
- 计算机毕业设计SSM房屋出租管理系统【附源码数据库】
- 称球问题解析(1)- 12球
- tunel凋亡试剂盒说明书_急求!!罗氏TUNEL试剂盒( In Situ Cell Death Detection Kit, TMR red )中文说明书或者操作步骤,急急急!!谢谢啦!...