Я пытаюсь динамически генерировать якорь для данного контента (документы и/или изображения, хранящиеся в Cloudinary.io, в данном случае), но документы I ' m хранения имеют хеш-значение, а не имя файла (то есть: c9eed62bd1534c382a3b89241b24b1ddd17b3793
вместо sample.pdf
).Javascript - генерировать якорь с href и загрузить atrributes
Вот функция, я использую для создания якоря:
function download(url, download) {
if (url) {
var a = document.createElement('a');
if (a) {
a.href = url;
a.download = download || '';
a.target = '_blank';
a.click();
}
}
}
Проблема у меня есть, когда я исполню функцию, браузер загружает файл для меня, но с именем в href
атрибут, а не атрибут download
.
Это событие я использую, чтобы стрелять скачать:
$('.link').on('click', function (e) {
download($(this).data('url'), $(this).data('name'));
});
И это образец HTML элемент, содержащий данные, чтобы вызвать событие:
<span class="link" data-url="http://res.cloudinary.com/dxsky7h00/raw/upload/v1483364241/627ec3e4afa08749ac4aff8d2917a38f586a5790" data-name="fs545554545454.xls"><i class="icon-file-o"></i>fs545554545454</span>
Может быть, я понял, атрибут download
для элемента <a>
неправильным образом, но я подумал, что при указании он заставляет браузер загружать ресурс, а не пытаться открыть его с одной стороны, а с другой стороны, если используется download="something"
, res usce будет загружаться с именем «что-то», а не с атрибутом href
.
Что мне не хватает для этой функции выборки?
EDIT Я в настоящее время тестирования это на Chrome 55.0.2883.87 (64-разрядная версия), но, как this entry on caniuse.com состояний, он совместим
http://caniuse.com/download/embed/description – haim770
Как вы называете свою функцию? – mplungjan
@ haim770 Хотя он не работает над Safari и некоторыми другими, я тестирую это на Chrome и он не работает, поэтому речь идет не о совместимости. –