#javascript
#javascript
Вопрос:
Я должен загрузить весь файл одной кнопкой. Html — это:
<div class="col-lg-6 offset-3">
<ul class="list-group">
@foreach ($lead['media'] as $index => $media)
<li class="list-group-item">
<a target="_blank" href="{{$media['public_url']}}">
File #{{$index 1}}
</a>
<a target="_blank" href="{{$media['public_url']}}" class="btn-download">
<svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-arrow-down-square"
fill="currentColor" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd"
d="M14 1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1zM2 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2H2z"/>
<path fill-rule="evenodd"
d="M8 4a.5.5 0 0 1 .5.5v5.793l2.146-2.147a.5.5 0 0 1 .708.708l-3 3a.5.5 0 0 1-.708 0l-3-3a.5.5 0 1 1 .708-.708L7.5 10.293V4.5A.5.5 0 0 1 8 4z"/>
</svg>
</a>
</li>
@endforeach
</ul>
<a href="#" class="btn btn-primary btn-sm mt-2" id="download-all">
Download All
</a>
</div>
У вас может быть много файлов, но когда я нажимаю загрузить все, в первый раз появляется всплывающее окно. Код :
<script>
let btnDownloadAll = document.getElementById('download-all');
btnDownloadAll.onclick = function () {
let medias = document.getElementsByClassName("btn-download");
Object.keys(medias).forEach(key => {
window.open(medias[key].href,'_blank')
});
}
</script>
Комментарии:
1. Ваш код включает вызов
window.open()
, который явно запрашивает новое окно.2. Как я могу это изменить? @Pointy
Ответ №1:
Возможно, изменение '_blank'
может помочь. '_blank'
используется для открытия нового окна.