问题描述
我正在使用最新的iOS 14.0.1
和jsPDF 2.1.1
。这是Safari和Chrome的3种情况:
Safari:
-
使用
jsPDF.save('myfilename.pdf')
。此处没有问题,PDF在同一页面中打开,然后当您单击浏览器的“共享”按钮时,将弹出共享对话框,其中带有预览图标,显示PDF和标题“ 1 Link and 1 Document”以及下面的blob url。如果选择“保存到文件”,则会看到正确的名称myfilename.pdf
。 -
使用
之外,其他与上述相同。window.open(jsPDF.output('bloburl','myfilename.pdf'))
或window.open(jsPDF.output('bloburl',filename: { 'myfilename.pdf' }))
,除“保存到文件”显示UnkNown.pdf
-
使用
navigator.share()
API:navigator.share({ title: 'my title',url: jsPDF.output('bloburl','myfilename.pdf') })
这会立即弹出本机共享对话框,但是好像文件无法识别,因为几乎没有菜单选项。在半相关的音符上,我在点击事件上首次调用
navigator.share()
,但第一次出现却没有任何后续点击。
Chrome: 所有这三种情况都会产生相同的共享对话框,似乎无法识别PDF,如果您尝试通过文本消息与朋友共享,则会发送Blob链接文本。
我正在寻找统一的下载/共享解决方案。我调查了<a download="filename.pdf" href="bloblinkgoeshere">
,但这提出了iOS的新一批跨浏览器兼容性问题。 Chrome似乎使用dataurlstring
而不是bloburl
,但是〜6MB的pdf文件花了大约10秒钟才能生成下载链接。 Safari都不兼容。但是,我尝试了一个gif
文件的base64字符串,它似乎可以使用safari,但不能使用pdf
数据uri。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)