Ответ 1
Используйте Modernizr: создайте элемент и проверьте, не определен ли атрибут:
var a = document.createElement('a');
if (typeof a.download != "undefined") {
alert('has support');
}
Одной из новых функций, реализованных в HTML5, является атрибут download
для тегов привязки. Преимущество этого атрибута заключается в том, что он предоставляет пользователям возможность загружать контент, созданный в клиентском приложении, например изображение (например, преобразованное из холста).
В настоящее время поддержка этой функции очень плохая, поэтому я хотел бы знать, как я могу обнаружить поддержку этой функции в браузере.
Используйте Modernizr: создайте элемент и проверьте, не определен ли атрибут:
var a = document.createElement('a');
if (typeof a.download != "undefined") {
alert('has support');
}
Однострочное условие if
для упрощения упрощения:
if (document.createElement('a').download==undefined && e.target.hasAttribute('download'))
{
e.preventDefault();
console.log('Error: this is a download link, please right-click to save the file.');
}
Поддержка атрибута download
является пятнистой (Chrome 14+, Firefox 20+, IE13 +, Safari 10+ и не поддерживается в (реальной) Opera. script выше не будет мешать поддерживаемым браузерам.