Как лучше всего проверить, может ли пользователь загружать файлы?
Мне интересно, как лучше всего проверить, доступно ли поле ввода type="field" пользователю?
По крайней мере, iPhone и iPad не позволяют пользователю загружать файлы, но вместо того, чтобы проверять пользовательский агент с помощью внутреннего кода, я хотел бы услышать, что вы считаете самым минималистичным решением?
Цель состоит в том, чтобы проверить, доступны ли загрузки файлов, если нет, установить display: none; для всего div, содержащего форму.
Можно ли это сделать только с помощью CSS? JQuery?
Я бы предпочел решение, которое явно не проверяет (iOS), а скорее делает более общую проверку.
Заранее спасибо!
1 ответ
Наиболее элегантный способ справиться с этим на сегодняшний день, вероятно, - использовать Modernizr, который в своей последней версии позволяет проверить поддержку ввода файлов с помощью следующего оператора JS:
if(Modernizr.fileinput) {
//file input available!
} else {
//No file input :(
}
В качестве альтернативы, если вы не хотите включать Modernizr в свой проект, есть простой способ проверить его, который включает в себя только 3 строки кода:
var elem = document.createElement('input');
elem.type = 'file';
return !elem.disabled;
Как описано в этом SO ответе.