Как обнаружить поддержку атрибута "скачать" в HTML5?
Одной из новых функций, реализованных в HTML5, является download
атрибут для якорных тегов. Преимущество этого атрибута в том, что он дает пользователям возможность загружать контент, созданный в клиентском приложении, например изображение (например, преобразованное из холста).
В настоящее время поддержка этой функции очень плохая, поэтому я хотел бы знать, как я могу определить поддержку этой функции в браузере.
2 ответа
Решение
Используйте подход 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. Приведенный выше скрипт не будет мешать поддерживаемым браузерам.