我有一个包含mp3网址列表的页面。当你点击一个特定的项目时,它会触发这个javascript来下载mp3文件。
$(document).on('click', "a.item", function(e) {
var a_href = ($(this).closest('li').find('a.item').attr('href'));
e.preventDefault();
window.location.assign('download.php?q='+a_href);
});
这是一个单独的页面(download.php),代码如下:
$file= $_GET['q'];
header("Content-Type: audio/mp3");
header("Content-Disposition: attachment; filename=audio.mp3");
echo file_get_contents($file);
这很好用,并给我保存或打开对话框。问题是该文件可能需要很长时间才能获取内容,因此我可以在发生单击时添加加载图像,但我需要一种方法来识别保存或打开对话框何时出现(所以我可以停止加载图片)。有没有办法做到这一点?