Вместо того, чтобы ссылаться непосредственно на файлы для загрузки на веб-сайте, мы ссылаемся на страницу с надписью «Спасибо за загрузку». На странице есть коды отслеживания, поэтому мы знаем, сколько людей скачали файл. Страница запускает файл загрузки с использованием показанного кода 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;
}