项目场景:uniapp预览pdf安卓打不开,可以直接新建commonwebview来跳转外部链接浏览pdf

例如:uniapp里跳转外部链接


问题描述

例如:uniapp打开pdf安卓打不开,网上看了很多方法,都说安卓需要先下载再预览,但是本地测试调用uni.downloadFile访问生产服务器的文件会报错跨域,直接打包放生产运行控制台能返回success里的’下载成功‘,但实际上并没有下载文件


解决方案:

提示:不使用uni.downloadFile下载文件;进入资讯详情页A面先判断平台,如果是安卓直接通过外部链接方式打开pdf的url预览;如果是ios,则直接点击预览。

新建一个view页面commonwebview:

<template><web-view :src="url"></web-view>
</template><script>export default {data() {return {url:''}},onLoad(item) {this.url = item.url}}
</script><style lang="scss"></style>

资讯详情页A:
method里添加方法判断平台:

initPlatform(){uni.getSystemInfo({success: res => {console.log(res.platform);if (res.platform === 'android') {this.iOS = false;}else{this.iOS = true;}}});},

created()里调用initPlatform():

created() {this.initPlatform();},

在进入详情页方法中添加跳转(我这里是在init方法里,然后在onLoad里调用):

onLoad(e) {this.init();},init() {if (this.iOS == false) {uni.navigateTo({url:'/pages/talent/commonwebview/commonwebview?url=' + this.htmlStr2})}}

注:我这里的页面是通过接口查询出html页面的代码(articleCon.content 也就是接口中的content ),然后通过div的v-html属性加载出页面,所以会存在截取pdf的url字符串的问题,下面附上截取方法:

<div v-html="articleCon.content" v-if="iOS"></div>

接口内容:

截取字符串:

     getCaption(str) {//获取某个字符串后面的字符串var index = str.lastIndexOf("ef="); //获取"ef="字符串首次出现的下标(这里的字符串可以根据自己的需要来写)str = str.substring(index + 4, str.length);return str;},getFront(str) {//获取前边的字符串var index = str.indexOf(".pdf"); str = str.substring(0, index + 4);return str;},

这样,将上面接口获取到的html代码前后截取,就可以获得自己想要的pdf链接了


后续:

上面的方法过了两天之后,发现部分安卓机型仍然无法打开。那就直接给用户个链接,让用户复制去浏览器打开;或者将pdf转成png。附上uniapp弹框复制的代码,看下面这篇文章
https://blog.csdn.net/weixin_49524349/article/details/124734937?spm=1001.2014.3001.5502

uniapp预览pdf安卓打不开,可以直接新建commonwebview来跳转外部链接浏览pdf相关推荐

  1. PHP 使用 微信JSSDK 拍照选择图片接口 利用localid预览时 安卓手机正常显示 iOS手机不显示

    最近使用微信JSSDK文档的拍照和相册选择图片接口,通过给img标签设置获取到的localid实现图片预览,安卓手机中可以正常显示,而iOS手机中图片无法正常显示. 图像接口 拍照或从手机相册中选图接 ...

  2. uni-app 预览并使用模板

    一.预览 1.作者是使用Hbuilder X 编辑器 2.文件---新建---项目---uni-app---Hello uni-app 3.找到App.vue---运行---运行到小程序模拟器(就可预 ...

  3. 前端预览word文件_2020国开形考计算机练习题Word练习

    选择 1.在Word文档中要设置"页边距",则应该使用 . "文件|打印"选项卡中的"页面设置"命令 2.若要在打印文档之前预览应使用的命令 ...

  4. uniapp预览图片不显示的问题

    1.不能预览本地图片. 2.不能http开头. 3.只能是https开头才能预览图片. 4.本地图片生成url链接:生成url网址:https://sm.ms/ 5.把本地地址换成url链接就可以预览 ...

  5. uniapp跳转外部链接和跳转内部网页的方法

    1.打开外部链接 使用内置组件web-view <template><view><web-view src="https://www.baidu.com&quo ...

  6. xmind在线预览,编辑,保存,本地xmind读取、远程xmind文件流链接读取

    https://github.com/xlzy520/Xminder 基于百度脑图,移除百度验证,在edit.html中配置远程链接与保存文件时调用的接口与方法.

  7. Android PDF原生实现 PDF阅读、PDF手势伸缩、PDF目录、PDF预览缩略图 PDF方案选择 google doc android-pdfview mupdf pdf.js x5

    ##1.背景 近期,公司希望实现安卓原生端的PDF功能,要求:高效.实用. 经过两天的调研.编码,实现了一个简单Demo,如上图所示. 关于安卓原生端的PDF功能实现,技术点还是很多的,为了咱们安卓开 ...

  8. Vue Cli项目使用PDF.js预览pdf无法访问到viewer.html

    今天在开发移动端项目中有个需求是手机端预览pdf,ios可以直接在浏览器预览,安卓不行,所以使用pdf.js来解决,之前项目用过该插件很好用,但是今天使用的时候发现根本没有访问到viewer.html ...

  9. java代码编辑器 pdf文件预览 主流SSM 代码生成器 shrio redis websocket即时通讯

    获取[下载地址] QQ: 313596790 官网 http://www.fhadmin.org/ A 代码编辑器,在线模版编辑,仿开发工具编辑器,pdf在线预览,文件转换编码 B 集成代码生成器 [ ...

  10. uniapp实现图片预览功能

    点击图片实现预览功能如下: <!-- 轮播 --> <view class="ms_shops"><swiper class="ms_swi ...

最新文章

  1. boot spring 怎么执行hql_彻底透析SpringBoot jar可执行原理
  2. 深度学习入门之PyTorch学习笔记
  3. [Python图像处理] 二十八.OpenCV快速实现人脸检测及视频中的人脸
  4. 使用.NET Core创建Windows服务(一) - 使用官方推荐方式
  5. flutter生成源代码_Flutter创建工程的主要代码详解
  6. python // 运算符
  7. 【Oracle】SQL语句优化
  8. day14 匿名函数
  9. 加多宝首度披露"换头手术"的详细内幕
  10. 个人“乱七八糟”笔记和摘要
  11. 做程序界的死神,获取自己的斩魂刀
  12. windows的特殊对话框
  13. Mac OS X 系统清理
  14. 电信运营商云计算战略定位分析
  15. 【ZYNQ Ultrascale+ MPSOC FPGA教程】第二十章 PS端RTC中断实验
  16. 三层架构什么是高内聚低耦合?
  17. Linux:ARM+lUbuntu16.04配置国内镜像源
  18. 【深度首发】ONES CEO王颖奇:打造一站式研发管理平台,做工程师的赋能者丨Xtecher 封面
  19. 利用Python爬取网页美女图片,哇太多了,我U盘装满了!
  20. 喵哈哈村的魔法考试 (1)

热门文章

  1. linux 加速度传感器数据获取,Android传感器SensorEventListener之加速度传感器
  2. java程序员月薪一万很难?(要到什么程度)
  3. 程序员月薪3万?2020年12月程序员平均薪资14222元,招聘近40万人!
  4. 毕业设计 高校排课系统
  5. ui设计师必须了解的13中移动app界面设计的基础知识
  6. tplink 2.4g弱信号剔除_路由器信号分为2.4G和5G,这两种信号有什么区别
  7. 关于Linux的rear命令
  8. 【原创游戏】迷踪失路——恐怖风格的第一人称迷宫游戏
  9. 电荷耦合器件架构及工作原理
  10. Ubuntu 16.04下的美化配置过程