使用window.open()下载文件,如何不删除#in URL?

时间:2015-08-10 15:16:01

标签: javascript

所以我在点击元素时使用JavaScript下载文件:

HTML

<p onclick="download()">Click Here</p>

的JavaScript

function download(){
    window.open("file.pdf")
}

在单击元素之前,URL中有一些#text,如下所示:folder/subfolder/index.html#text

如果文件在浏览器中打开,它将替换当前选项卡,当您按后退按钮返回页面(例如使用PDF)时,URL中的任何#text 都会保留。但是,如果只是下载文件,任何#text都会被删除

我怎样才能这样做#text不会被删除或者如何将它返回到URL?由于页面实际上没有重新加载,因此我无法输入可能检测URL中应该包含#text的代码。什么可能是另一种解决方法?

我遇到的问题是,一个链接会下载一个在浏览器中打开的文件(而不是PDF),因此会导致#text消失。然后,当我点击另一个在浏览器中打开文件的链接(PDF)时,单击后退按钮时,#text消失了,但它允许我的程序知道要查看的视图。

1 个答案:

答案 0 :(得分:6)

使用window.open("file.pdf", "_blank")。这将暂时打开一个新选项卡以下载文件,然后关闭它,保留原始页面和URL。