如何检测文件输入元素是否支持“multiple”属性?

时间:2012-05-05 00:33:44

标签: javascript html5 file-upload modernizr multiple-files

Internet Explorer不支持multiple的{​​{1}}属性。但是,它不仅缺少这种支持的IE ......某些移动浏览器也不支持<input type="file" />属性。因此,简单地检测浏览器是IE不是理想的解决方案。

那么我如何通过JavaScript检测multiple是否支持multiple属性?

更新

似乎Modernizr支持新的HTML5输入元素属性:

http://modernizr.com/docs/#input

然而,接受的解决方案似乎有效,因为我已经在使用Modernizr,我的解决方案如下:

<input type="file" />

2 个答案:

答案 0 :(得分:13)

您可以尝试检查是否存在相应的属性:

var supportsMultipleFiles = 'multiple' in document.createElement('input');

示例:http://jsfiddle.net/sbZvS/

答案 1 :(得分:8)

var inp = document.createElement("input");
inp.setAttribute("multiple", "true");
var supportsMultiple = inp.multiple===true;