我的网站上有一个php脚本,可以方便我的网站下载(记录用户信息,控制用户权限等)。我的网站上的典型链接如下所示:
<a href="file_download.php?file_id=12345">Download file 12345</a>
在 file_download.php 中,我检查以确保文件请求有效,如果是,则执行标头强制文件下载
header("Content-type: application/force-download");
强制下载提示在用户的浏览器中。用户永远不会离开他们点击链接的页面。
我想知道的是,如果我能够将一个jQuery事件从file_download.php切换到父页面上吗?看来如果我在file_download.php上做任何事情而不是'header force download',那么用户将离开页面。
理想情况下,我希望保持我的href链接不变(为了不在网站范围内编辑一百万个实例),并让file_download.php切换一个灯箱窗口,在下载之前提示用户信息(如果需要的话)。 / p>
非常感谢任何帮助或建议,谢谢。
答案 0 :(得分:1)
您不需要从PHP页面切换事件,您可以将信息框附加到所有下载链接,然后使用JavaScript重定向:
var downloadLink;
$(".download-link").click(function(e){
e.preventDefault();
downloadLink= $(this).attr("href");
displayLightbox();
});
$("form").submit(function(e){
e.preventDefault();
//form validation
if(formValidated = true){
window.location = downloadLink;
}
});
答案 1 :(得分:0)
我有一个example,就像上面那个。
这是您的链接:
<a id="downloadLinkId" href="file_download.php?file_id=12345">Download file 12345</a>
这是你的javascript:
$("#downloadLinkId").click( function(event) {
event.preventDefault();
launchLightBoxWindow();
});
其余代码在jsfiddle上。