Html 下载属性在safari中不起作用

Html 下载属性在safari中不起作用,html,macos,download,safari,attributes,Html,Macos,Download,Safari,Attributes,我正在我的链接中使用下载属性: <a style="color:white" download="myimage" href="images/myimage.jpg">Download image</a> 它在几乎所有浏览器中都工作得很好。这意味着,如果我点击链接,图像会自动下载。我在mac上的safari 10.1.2中对它进行了测试,它运行良好 但在我的朋友mac上,safari 10.0.3不起作用。他说这张图片只是在一个新窗口中打开,而不是下载 为什么

我正在我的链接中使用下载属性:

   <a style="color:white" download="myimage" href="images/myimage.jpg">Download image</a>

它在几乎所有浏览器中都工作得很好。这意味着,如果我点击链接,图像会自动下载。我在mac上的safari 10.1.2中对它进行了测试,它运行良好

但在我的朋友mac上,safari 10.0.3不起作用。他说这张图片只是在一个新窗口中打开,而不是下载

为什么会发生这种情况?我能做些什么使它在任何地方都能工作?

请查看

向下滚动到attributes,您将看到DOWNLOAD属性仅受HTML5支持,而您朋友的Safari版本似乎不支持HTML5。我建议更新程序

或者,您可以右键单击图像,然后单击另存为…,然后以这种方式下载

@Jarla

根据,它被添加到Safari 10.1中:

HTML5下载属性 锚元素的下载属性 指示链接目标是下载链接的下载链接 文件,而不是导航链接。当您单击一个链接时 下载属性,目标作为文件下载。或者, download属性的值提供建议的文件名 文件

在iOS Safari 11.1中,它似乎不可用,但从我自己的测试来看,这让我有点困惑。基于相似的版本编号,我希望它们在标准支持方面是平等的。

试试下面的代码:

var element = document.createElement('a');
            var clearUrl = base64.replace(/^data:image\/\w+;base64,/, '');

            // element.setAttribute('href', 'data:attachment/image' + base64);
            element.setAttribute('href', 'data:application/octet-stream;base64,' + encodeURIComponent(clearUrl));
            element.setAttribute('download', 'filename.jpg');
            document.body.appendChild(element);
            element.click();
            document.body.removeChild(element)

这在safari版本10.0.3中对我很有用。

@Jarla你看到我的答案了吗?Mobile safari还没有发布它:请注意,在safari中指定
target
属性似乎会覆盖
download
属性(在Chrome、Firefox或Opera中似乎不是这样)。谢谢@john hascall,您的评论解决了我的问题。我正在使用Safari 12.3.1,但它仍然不起作用,但根据上面评论中发布的caniuse表,13正在测试中,几个月后将推出。是否有其他强制下载图像的解决方案?@mayurkakadiya,如果您有权访问提供此服务的服务器您可以将标题
内容处置设置为
附件
。这些图像适用于safari 12,没有文件名和文件类型,尽管我也面临这个问题,很抱歉,我无法在safari中检索文件名和扩展名。