Атрибут загрузки Chrome не работает
Я испытал неожиданное поведение Chrome с самой новой версии:
Хотя в Firefox этот код работает Отлично:
<a id="playlist" class="button" download="Name.xspf" href="data:application/octet-stream;base64,PD94ANDSOON" style="display: inline;">Download Me</a>
Он не работает в Chrome (просто загружая файл с именем "Загрузка" ), но он работал очень хорошо. Что мне нужно изменить, чтобы он снова работал?
Ответы
Ответ 1
После некоторых исследований я наконец нашел вашу проблему.
< > атрибут загрузки:
Если HTTP-контент Content-Disposition: присутствует и дает другое имя файла, чем этот атрибут, заголовок HTTP имеет приоритет над этим атрибутом.
Если этот атрибут присутствует, а Content-Disposition: установлен в строку, Firefox дает приоритет Content-Disposition, например, для случая с именем файла, в то время как Chrome отдает приоритет атрибуту загрузки.
Источник
HTTP-заголовок Content-Disposition
Ответ 2
Считая комментарии, у меня была такая же проблема, как и при переполнении буфера, и нашел это в этом вопросе:
Я предполагаю, что веб-страница и загрузка находятся на разных началах. Мы больше не соблюдаем атрибут загрузки, предлагаемое имя файла для запросов на перекрестный поиск. Нажатие на ссылку по-прежнему инициирует загрузку. Но имя файла происходит только от факторов, исключительно зависящих от сервера (например, заголовок Content-Disposition в ответе и URL-адреса).
Так что я не мог заставить его работать...: (
Ответ 3
Это может быть решено добавлением атрибута target="_blank"
в href
.
Как это:
Save sprites.svg as
<a target="_blank" download="somefilename.svg"
href="https://cdn.sstatic.net/Img/unified/sprites.svg"
>somefilename.svg</a>
Ответ 4
Перейдите в Chrome Нажмите "Настройки", и вы увидите всплывающую новую страницу в окне браузера Chrome. Прокрутите вниз до "Дополнительные настройки", найдите группу "Загрузки" и очистите параметры автоматического открытия. В следующий раз, когда вы загрузите элемент, он будет сохранен, а не открыт автоматически.