繁体   English   中英

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

[英]Using window.open() to download file, how to not remove the # in URL?

因此,当单击元素时,我使用JavaScript下载文件,如下所示:

的HTML

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

的JavaScript

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

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

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

我如何才能使其不被删除#text或如何将其返回到URL? 由于该页面实际上并未重新加载,因此我无法在其中放入代码,这可能会检测URL中应包含什么#text。 另一个解决方法是什么?

我遇到的问题是,一个链接下载的文件在浏览器中没有打开(不是PDF),因此导致#text消失。 然后,当我单击后退按钮时,单击另一个确实在浏览器中打开文件的链接(PDF)时,#text消失了,但这是使我的程序知道打开哪个视图的原因。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM