让我先说一下,我在这里已经看到了很多类似的问题,但没有一个问题可以提供一个有效的解决方案。
我通过javascript从canvas元素生成PDF。完成所有操作后,我将PDF保存在变量中,作为原始编码的blob,类型为“application / pdf”。在每个主要浏览器--Internet Explorer,Mozilla Firefox,谷歌浏览器 - 以下代码段足以启动下载:
saveAs(blob, 'filename.pdf');
但是,Safari不做任何事情。我尝试过使用FileReader的 readAsDataURL 方法以及 URL.createObjectURL 和webkit供应商特定的api,然后使用window.open()打开一个新标签/那个窗口作为内容。
我正在寻找任何可以让我直接为我的Safari用户启动此下载的解决方案,而无需先将数据传递给服务器。