Как определить поддержку атрибута загрузки HTML5?

Одной из новых функций, реализованных в HTML5, является атрибут download для тегов привязки. Преимущество этого атрибута заключается в том, что он предоставляет пользователям возможность загружать контент, созданный в клиентском приложении, например изображение (например, преобразованное из холста).

В настоящее время поддержка этой функции очень плохая, поэтому я хотел бы знать, как я могу обнаружить поддержку этой функции в браузере.

Ответ 1

Используйте Modernizr: создайте элемент и проверьте, не определен ли атрибут:

var a = document.createElement('a');
if (typeof a.download != "undefined") {
    alert('has support');
}

Ответ 2

Однострочное условие 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 выше не будет мешать поддерживаемым браузерам.