Скачайте файл и перенаправьте ... или альтернативу - PullRequest
9 голосов
/ 07 декабря 2010

Пользователи заполняют форму. С действительной формой, они нажимают, чтобы загрузить файл. Я хотел бы иметь возможность перенаправить их на другую страницу (например, page2.html) И начать загрузку.

Я не могу начать загрузку на page2.html, потому что большинство браузеров будут отмечать предупреждения безопасности, если ссылка для скачивания не нажата напрямую.

Как что-то подобное достигается с помощью javascript или jquery? Очевидно, что следующее не работает, но оно предназначено для иллюстративных целей:

document.getElementById("foo").onclick = function(){
     window.location = "/download.exe";
     window.location = "/page2.html";
}

Ответы [ 2 ]

11 голосов
/ 07 декабря 2010

Вы можете использовать ссылку на файл и onclick, чтобы вызвать «перейти на следующую страницу в ближайшее время».

<script>
function thanks() {
    setTimeout(function () {
        document.location.pathname = "page2.html";
    }, 1000);
}
</script>

<a href="file.exe" onclick="thanks()">Download now!</a>
3 голосов
/ 07 декабря 2010

Вы можете начать загрузку со страницы 2, если page2.html «изменить» ее местоположение (на свой URL-адрес для загрузки) после загрузки страницы:

$(function ()
{
    setTimeout(function ()
    {
        window.location.pathname = '/download.exe';
    }, 5000); // download the file in 5 seconds
});

Я почти уверен (хотя и не100%), которое не вызовет предупреждение безопасности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...