问题: 单击下载内容的链接后,所有其他链接都具有target =“_ blank”,并且在单击时不会下载attr下载而不是在新选项卡中打开。
浏览器: Safari 11.0.2
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<script src="script.js"></script>
</head>
<body>
<h3>Instructions</h3>
<ul>
<li>Click <a href='sample.txt' target='_blank'>ME</a> (download NOT present) to see page load in new tab then come back to this page</li>
<li>Click <a href='sample.txt' download='sample.txt'>ME</a> (download PRESENT) to see it downloaded</li>
<li>Click <a href='sample.txt' target='_blank'>ME</a> (download NOT present). Safari forces this link to download</li>
</ul>
</body>
</html>
代码示例: https://embed.plnkr.co/IscC6LTTmpEbAMLrxyYJ/
复制
更新 我更新了这个问题,希望更好地解释发生了什么。我找到了一种解决方法,但是如果我将链接更改为_self而不是_blank,那么下载后它们会正常工作。
答案 0 :(得分:7)
关于上述问题,您可以选择下载文件:
在同一窗口中打开文件:
<a href="sample.txt" target="_self">Click to Download</a>
在新窗口中打开文件:
<a href="sample.txt" target="_blank">Click to Download</a>
强制文件下载窗口:
但是,如果您想通过提示下载弹出框(打开或保存)强制下载文件,那么您需要做的就是在链接中添加“下载”,如下所示:
<a href="sample.txt" download>Click to Download</a>
因此,您编辑的代码可能如下所示:
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<script src="script.js"></script>
</head>
<body>
<h3>Instructions</h3>
<ul>
<li>Click <a href='sample.txt' target='_blank'>ME</a> (download NOT present) to see page load in new tab then come back to this page</li>
<li>Click <a href='sample.txt' download='sample.txt'>ME</a> (download PRESENT) to see it downloaded</li>
<li>Click <a href='sample.txt' download>ME</a> (download NOT present). Safari forces this link to download</li>
</ul>
</body>
</html>
希望这能帮到你!
答案 1 :(得分:1)
不是一个真正的答案,但是在向苹果报告问题并等待之后,我们现在有了Safari 11.1.1,它似乎已经解决了该问题,因此标记已解决。