先说功能需求,点击A页面的书本,跳转到B页面预览相应的PDF格式文件内容
最初的写法是直接在A页面写方法做跳转并传链接参数,B页面接收,并使用web-view做预览,此方法只能在ios正常预览,Android不显示。
A页面
B页面
通过百度查询知道uniapp开发微信小程序时使用web-view跳转pdf文件链接时,Android是不生效的,ios可以正常跳转
解决方法:
在A页面的跳转方法中写一个判断方法,判断手机为Android或者IOS,若为Android,则在A页面直接预览,若为IOS,则跳转B页面后预览
代码如下
curriculumItem为点击方法传的参数
urlSrc为pdf文件链接
goPdf(curriculumItem){
let urlSrc = this.theUrl + curriculumItem.pdf_file
console.log("urlSrc")
uni.getSystemInfo({
success: res => {
console.log(res.platform);
if (res.platform === 'android') {
wx.downloadFile({
url: urlSrc,
success: function(res) {
const filePath = res.tempFilePath;
wx.openDocument({
filePath: filePath,
success: function(res) {
console.log('打开文档成功');
}
});
}
});
} else {
uni.navigateTo({
url: './thepdf?curriculumItem=' + JSON.stringify(curriculumItem)
});
}
}
});
}
如果不够清楚,可以看这位博主的文章
参考链接: