下载属性在 safari 中不起作用

新手上路,请多包涵

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

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

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

但是在我使用 safari 10.0.3 的朋友 mac 上,它不起作用。他是说图片只能在新窗口中打开但不能下载。

为什么会发生这种情况,我该怎么做才能让它在任何地方都能正常工作?

原文由 peace_love 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 649
2 个回答

根据 https://developer.apple.com/library/content/releasenotes/General/WhatsNewInSafari/Articles/Safari_10_1.html ,它是在 Safari 10.1 中添加的:

HTML5 下载属性 锚元素的下载属性表示链接目标是下载文件的下载链接,而不是导航链接。当您单击带有下载属性的链接时,目标将作为文件下载。可选地,下载属性的值提供文件的建议名称。

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

原文由 IGx89 发布,翻译遵循 CC BY-SA 3.0 许可协议

试试这个代码:

 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 中对我有用

原文由 Mayur Kukadiya 发布,翻译遵循 CC BY-SA 4.0 许可协议

推荐问题