Запустите загрузку на той же вкладке, не открывая новую вкладку или окно в Javascript
Я использую эту функцию javascript для запуска загрузки
function startDownload(url) {
window.open(url, 'Download');
}
Он работает, но я хочу заблокировать любую новую вкладку или запуск нового окна, спасибо.
Ответы
Ответ 1
function startDownload(url) {
window.location.href = url;
}
Это запустит загрузку на той же странице, точно так же, как при нажатии ссылки без какой-либо цели, кроме _self
.
Чтобы принудительно загрузить файл, убедитесь, что вы отправили ему правильные заголовки:
Content-Disposition: attachment; filename="mypdf.pdf";
Это позволит убедиться, что файл не отображается в браузере, а не загружается. Замените часть имени файла именем файла, которое вы хотите по умолчанию, в диалоговом окне save as
.
Ответ 2
window.open
откроет новое окно \tab (в зависимости от настроек пользователя)... чтобы просто загрузить файл
window.location.href = url;
Вы можете использовать это, если url
возвращает загружаемый файл, а не веб-страницу
Ответ 3
Решение HTML5 с атрибутом 'download'
<a href="/images/myw3schoolsimage.jpg" download>
https://www.w3schools.com/tags/att_a_download.asp
Ответ 4
<a target="_parent" href="link"></a>
_blank - URL загружается в новое окно. _Parent по умолчанию - URL загружается в родительский фрейм _self - URL заменяет текущую страницу _top - URL заменяет любые фреймы, которые могут быть загружены name - Имя окна