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

Другие вопросы по тегам