在同一选项卡中启动下载,而无需在Javascript中打开新选项卡或窗口

Launch download in the same tab without opening new tab or window in Javascript

本文关键字:选项 新选项 窗口 启动 下载 Javascript      更新时间:2023-09-26

我正在使用此javascript函数启动下载

function startDownload(url) {
   window.open(url, 'Download');
}

它工作,但我想阻止任何新的选项卡或新的窗口启动,谢谢。

function startDownload(url) {
    window.location.href = url;
}

这将在同一页面中开始下载,就像您单击除_self之外没有任何目标的链接一样。

要强制下载文件,请确保发送正确的标题:

Content-Disposition: attachment; filename="mypdf.pdf";

这将确保文件不会显示在浏览器中,而不是下载。在save as对话框中,将文件名部分替换为所需的默认文件名。

window.open将打开一个新窗口''选项卡(取决于用户偏好)。。。只需使用下载文件

window.location.href = url;

如果url返回可下载文件而不是网页,则可以使用此选项

具有"下载"属性的HTML5解决方案

<a href="/images/myw3schoolsimage.jpg" download>

https://www.w3schools.com/tags/att_a_download.asp

<a target="_parent" href="link"></a>
  • _空白-URL加载到一个新窗口中。这是默认设置
  • _parent-URL加载到父框架中
  • _self-URL替换当前页面
  • _top-URL替换任何可能加载的框架集name-窗口的名称