HTML/JQuery:如何打开文件;不闪烁新标签;并保留当前页面状态

HTML/JQuery: How to open a file; without flashing new tab; and retaining current page state?

本文关键字:标签 保留 状态 当前页 闪烁 JQuery 何打开 HTML 文件 新标签      更新时间:2023-09-26

有一个链接,点击该链接可以下载文件。

在客户的机器上:

1) 在某些系统上;IE或Firefox具有在浏览器内显示PDF的插件;点击链接。

2) 在某些系统上,IE没有插件;所以当我们点击链接时;一个新的选项卡闪烁一秒钟,文件下载与保存/保存为打开等选项对话框

以下是链接打开的方式;以便保留页面的状态:

<a href="http://www.gasl.org/refbib/Bible_King_James_Version.pdf" target="_blank">Holy Bible</a>

现在的要求

查询1:客户端不想从浏览器中删除插件,并希望通过对话框下载文件。有可能吗?

查询2(重要):我们可以下载文件吗;这样新的标签就不会被闪存,文件也会被下载?

更新:不能删除目标属性,就像我会删除它一样,如果插件在浏览器中仍然存在,那么页面状态将不会被保留。

PHP:

在您的链接中,将href设置为"download.php?file=file.pdf或数据库中的任何ID,或者仅设置文件名,不管怎样。使用以下命令创建一个download.php文件:

$path = path/of/the/file/; 
$filename = $_GET['file'];
header('Content-Transfer-Encoding: binary');
header('Last-Modified: ' . gmdate('D, d M Y H:i:s', filemtime($path)) . ' GMT');
header('Accept-Ranges: bytes');
header('Content-Length: ' . filesize($path));
header('Content-Encoding: none');
header('Content-Type: application/pdf');
header('Content-Disposition: attachment; filename=' . $filename);
readfile($path);