我在我的项目中使用Google Chrome的文件夹上传功能,如下所述: How do I use Google Chrome 11's Upload Folder feature in my own code?
我有一个按钮,可以在单击时触发输入字段。我的问题是如何检查浏览器是否支持webkit目录?所以我可以隐藏我的按钮或提醒用户使用chrome来提供这项服务。
<button>Upload Folder</button>
<input type="file" name="file[]" multiple webkitdirectory>
<script>
$("button").click(function(e) {
/* TODO: Detect webkitdirectory support */
if(webkitdirectory)
$('input').trigger('click');
else
alert('Use Chrome!');
});
</script>
答案 0 :(得分:0)
基于Modernizer和this answer,我可以使用此功能来检测是否支持目录选择:
function testFileInputDirectory() {
var elem = document.createElement('input'),
dir = 'directory',
domPrefixes = [ "", "moz", "o", "ms", "webkit" ],
prefix;
elem.type = 'file';
for (prefix in domPrefixes) {
if (domPrefixes[prefix] + dir in elem) {
return true;
}
}
return false;
}
答案 1 :(得分:-1)
要查看是否支持 webkit目录,请检查输入元素中的属性:
webkitdirectorySupported(){
return 'webkitdirectory' in document.createElement('input')
}