Safari:在“固定”标签中,带有数据href的下载属性不起作用

时间:2018-10-30 16:21:01

标签: html5 safari href

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

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

这在Chrome和Firefox以及Safari的未固定标签中都可以正常使用。单击链接可将文本“ Hello”下载到名为hello.txt的新文件中。但是,在Safari的固定选项卡中,似乎忽略了下载属性,并且Safari在新选项卡中打开了数据。

要查看此信息,您需要从Web服务器提供上述HTML代码。如果仅保存文件并使用“ file://” URL打开它,则它将按预期工作。

我尝试使用Blob代替,但是行为是相同的。

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

需要特别注意的是,Safari 11和12中的行为实际上有所不同,但都无法正常工作。在11中,数据在新选项卡中打开。在12中,它将打开一个新选项卡,但在打开数据时显示错误。

对我来说,这似乎是Safari中的错误。有人可以建议解决方法吗?

谢谢

1 个答案:

答案 0 :(得分:0)

看来这是一个众所周知的错误,Safari尚不支持download属性。

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

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