[求助] Nodejs环境下移动端 h5 页面被嵌入到 APP 中,h5 端的下载 pdf 功能受到影响

[求助] Nodejs环境下移动端 h5 页面被嵌入到 APP 中,h5 端的下载 pdf 功能受到影响

小弟接手维护了一个移动端的小网站,有一个导出 pdf 文件的功能,被客户引入到了他们的 APP 中,下载功能异常。

技术栈

服务端:Node.js / TypeORM / Apollo / GraphQL / MySQL

前端:Vue / Nuxt.js / Vuetify

前后端都使用 TypeScript,采用 Docker 部署。

pdf 实现方法

后端用puppeteer 生成 pdf 文件到服务端某个用 nginx 配置好的静态文件夹中,返回 url 给前端用动态生成 a 标签的方法生成下载。

问题

在移动端的 Safari 和 Chrome 中都能正常下载并打开以及保存到本地,但是在客户的 APP 中,下载时候会打开 pdf 文件(我猜是预览),导致没办法操作页面了,并且打开的文件显示乱码。

补充

  • 截图来看,客户的手机是 IOS 系统,APP 用什么实现的未知;
  • h5 被 APP 引入的方式未知,不知道是不是因为内嵌,导致的 h5 运行的环境收到影响;
  • 移动端浏览器中操作 OK,但是移动端 APP 中下载就会打开 pdf 文件并显示乱码;

所以,有没有老哥知道为什么 APP 中功能表现异常? h5 有办法能实现内嵌在别的应用后还能使用下载功能吗?


回到顶部