gpt4 book ai didi

javascript - 使用window.open()下载文件,如何不去掉URL中的#?

转载 作者:行者123 更新时间:2023-11-30 07:59:28 27 4
gpt4 key购买 nike

所以我使用 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 消失了,但它让我的程序知道要在哪个 View 上。

最佳答案

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

关于javascript - 使用window.open()下载文件,如何不去掉URL中的#?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31923255/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com