而不是直接鏈接到網站上下載的網站上,我們鏈接到一個頁面,說:「感謝您下載」。該頁面上有跟蹤代碼,因此我們知道有多少人下載了該文件。該頁面使用顯示的jQuery代碼啓動下載文件,這會在下載開始之前在頁面加載後添加一個短暫延遲。下載位置具有內容處置標題,因此它始終在瀏覽器中正確下載,並且可以看到「謝謝下載」頁面。這一切運作良好。自動下載行爲和後退按鈕問題
如果用戶繼續瀏覽此頁面,然後回來,則會出現問題。下載再次觸發。使用window.location.replace(href);
似乎不能解決它。
這個問題由於傳遞頁面的CMS將其設置爲立即過期而未被緩存這一事實而變得更加複雜。 (i)避免這個問題的方法; (ii)處理文件下載/感謝頁面的更好方法?
jQuery代碼
$(document).ready(function() {
$('a.autoDownload').each(function() {
setTimeout('navigateToDownload("' + $(this).attr('href') + '")', 4000);
});
});
function navigateToDownload(href) {
document.location.href = href;
}
我不明白這將如何解決他的問題? – Christian 2011-04-03 23:35:40
而不是替換瀏覽器的歷史記錄,它附加一個iframe,它將開始下載文件。因此按照後面的按鈕功能按預期工作。 – Khez 2011-04-03 23:41:23
我不確定它是否可以正常工作,因爲後退按鈕加載表單緩存 - 因此生成的HTML。 – Christian 2011-04-04 06:32:51