Safari:在固定选项卡中,数据 href 的下载属性不起作用

Safari: in pinned tab, download attribute with data href not working

在 Safari 11/12 中,我有一个带有 href="data:" 和属性 "download" 的标签,用于在单击 link 时保存文件。

<!DOCTYPE html>
<html><body>
<a href="data:text/plain;charset=utf-8,Hello" download="hello.txt">
    Click me
</a>
</body></html>

这在 Chrome 和 Firefox 中运行良好,在 Safari 中的未固定选项卡中也能正常运行。单击 link 会将文本 "Hello" 下载到名为 hello.txt 的新文件中。但是,在 Safari 的固定选项卡中,下载属性似乎被忽略,Safari 在新选项卡中打开数据。

要查看此内容,您需要从网络服务器提供上述 HTML 代码。如果您只是保存文件并使用 "file://" URL 打开它,它会按预期工作。

我曾尝试使用 Blob,但行为是一样的。

我尝试将 mimeType 更改为 "application/octet-stream",这是我在类似问题中发现的建议。这 确实 导致下载数据,但文件名始终是 "unknown.txt"。这不合适,因为我需要控制文件名和扩展名(这不是 hello.txt!)

额外说明一下,Safari 11 和 12 中的行为实际上不同,但都无法正常工作。 11、数据在新标签页打开。在 12 中,它打开一个新选项卡,但显示打开数据时出错。

我觉得这像是 Safari 中的一个错误。谁能提出解决方法?

谢谢

这似乎是一个众所周知的错误,Safari (webkit) 尚不支持下载属性。

https://bugs.webkit.org/show_bug.cgi?id=167341

https://caniuse.com/#feat=download