快速(希望简单)的问题:我需要触发下载由 PHP 文件生成的 PDF 文件。我可以这样做:
<a href="download.php">Download</a>
但是我应该换一种方式吗?也许是Javascript?以上工作正常,但窗口显示“正在加载...”,直到下载开始。我想向用户提供一些正在发生的事情的反馈。
想法?
注意:我已经有了从服务器发送文件的代码。它工作得很好。这个问题只是关于如何最好地从客户端调用该脚本。
一些网站有自动开始的下载。他们是怎么做到的?
直接 URL 的问题在于,如果 PHP 脚本出错,它将替换现有页面的内容,这不是我想要的。
最佳答案
编辑
是 javascript,类似于:
<a href="download.php" onclick="this.innerHTML='Downloading..'; downloadPdf(this);">Download</a>
如果您需要真正了解下载何时开始,您可能需要调用 iframe,然后在其上使用“onload”事件。例如:
// javascript
function downloadPdf(el) {
var iframe = document.createElement("iframe");
iframe.src = "download.php";
iframe.onload = function() {
// iframe has finished loading, download has started
el.innerHTML = "Download";
}
iframe.style.display = "none";
document.body.appendChild(iframe);
}
关于javascript - 触发文件下载的正确方法(在 PHP 中)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/445774/