我正在實施數字內容的結帳流程。當用戶下訂單時,我會向他展示他購買的所有產品以及產品旁邊的下載鏈接。我的客戶希望當成功頁面被加載時,所有的產品都應該自動下載。強制使用jquery下載所有<a>標記上的文件
以下是代碼片段:頁面的
HTML代碼段有產品
<p>Some digital product name</p>
<a class='digital-download' href="<?php echo Yii::app()->request->getBaseUrl('true'); ?>/site/downloadfile/filename/<?php echo $digital_download['filename']; ?>">Click here download</a>
我對發起文件的下載動作的PHP代碼(downloadfile行動的下載鏈接):
public function actionDownloadFile($filename) {
$file = Yii::app()->request->getBaseUrl(true) . '/upload/digitaluploads/' . $filename; //file location
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . basename($file) . '"');
readfile($file);
}
現在,因爲我的客戶希望加載的頁面時的所有文件會自動下載,我嘗試使用以下的jQuery:
$(document).ready(function() {
$('.digital-download').each(function() {
var download_link = $(this).attr("href");
window.location = download_link;
});
});
問題:
它只啓動第一個文件,其他文件下載的下載沒有啓動。此外下面的jQuery事件根本不起作用:
$(document).ready(function() {
$('.digital-download').each(function() {
$(this).click();
});
});
任何解決方案?
這可能是一個更好的解決方案,在包含所有文件的服務器上創建一個zip文件然後將其作爲單個文件下載。 –
不是我想要的。客戶希望每個購買的產品都單獨下載。 – Hammad