Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在同一选项卡中启动下载,无需在Javascript中打开新选项卡或窗口_Javascript_Download - Fatal编程技术网

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

在同一选项卡中启动下载,无需在Javascript中打开新选项卡或窗口,javascript,download,Javascript,Download,我正在使用这个javascript函数来启动下载 function startDownload(url) { window.open(url, 'Download'); } 它可以工作,但我想阻止任何新选项卡或新窗口的启动,谢谢。窗口。打开将打开一个新窗口\tab(取决于用户偏好)。。。要下载文件,请使用 window.location.href = url; 如果url返回可下载的文件而不是网页,则可以使用此选项 function startDownload(url) {

我正在使用这个javascript函数来启动下载

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

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

窗口。打开
将打开一个新窗口\tab(取决于用户偏好)。。。要下载文件,请使用

window.location.href = url;
如果
url
返回可下载的文件而不是网页,则可以使用此选项

function startDownload(url) {

    window.location.href = url;
}
这将在同一页面中开始下载,就像单击除
\u self
之外没有任何目标的链接一样

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

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

这将确保文件不会显示在浏览器中,而不会被下载。在
另存为
对话框中将文件名部分替换为默认文件名。

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

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


  • _空白-URL加载到新窗口中。这是默认值
  • _parent-URL加载到父框架中
  • _self-URL替换当前页面
  • _top-URL替换可能加载的任何框架集名称-窗口的名称

我的internet explorer仍然存在问题,如果我有.pdf文件,它会打开它,我的浏览器上有未加密的文件。对于chrome和firefox,它工作得非常好。你从哪里提供PDF?与PDF一起发送的MIME类型是什么?IE显示了什么?这就是我在IE中启动下载时得到的结果ÏC]äÈ•†é^qQ±]…顺便说一句,我正在使用一个HttpHandler抱歉,如果这是一个愚蠢的问题,但您将内容配置放在哪里:附件;filename=“mypdf.pdf”;?@Marcel这可能太晚了,但标题必须在目标url处设置,并且不能由Javascript设置。请参阅:@Marcel,您将其放在服务器的响应中。以下是java代码:
response.ok(fileContent,“application/octet-stream”).header(“内容处置”,“附件;filename=mypdf.pdf”).build()
@vanduc1102谢谢你的代码。我已经想了很久了。在使用此解决方案之前,一定要先看看这个。Edge版本12,即Safari 10(及更早版本)或Opera版本12不支持下载属性(另外,由于它是一个javascript函数,正在启动下载,我认为创建一个链接,隐藏它,然后发送一个点击事件,对于一行javascript来说,这是一个很大的工作。。。
<a target="_parent" href="link"></a>