2012-08-29 33 views
6

Tôi đang cố gắng tìm hiểu xem trình duyệt có khả năng chọn các thư mục, không chỉ nhiều tệp. Chrome hiện tại hỗ trợ điều này (ví dụ: http://html5-demos.appspot.com/static/html5storage/demos/upload_directory/index.html).Cách phát hiện khả năng chọn thư mục trong trình duyệt?

Dường như, nó hoạt động trong Chrome khi <input type="file" /> có thuộc tính webkitdirectory. Nhưng làm cách nào tôi có thể kiểm tra xem trình duyệt có thực sự có khả năng chọn thư mục và lặp qua các tệp không?

+0

thể trùng lặp của [? Làm thế nào tôi có thể kiểm tra nếu trình duyệt hỗ trợ HTML5 upload (FormData đối tượng)] (http://stackoverflow.com/questions/7296426/how-can-i-check-if-the-browser-support-html5-file-upload-formdata-object) – GolezTrol

+0

Nó không phải là một bản sao. Theo tôi biết, chỉ Chrome hỗ trợ webkitdirectory (hoặc thuộc tính thư mục tương lai) trong khi các trình duyệt khác hiện hỗ trợ API tệp HTML5. Có một nhu cầu cho một thử nghiệm như vậy, vì Chrome '' cho phép các thư mục _only_ được chọn, không phải các tập tin hoặc thư mục. –

+0

Hey @GeoffreyBooth - Tôi đã viết plugin Modernizr cho việc này. –

Trả lời

9

Có lẽ đây là một giải pháp cho vấn đề của bạn:

function isInputDirSupported() { 
    var tmpInput = document.createElement('input'); 
    if ('webkitdirectory' in tmpInput 
     || 'mozdirectory' in tmpInput 
     || 'odirectory' in tmpInput 
     || 'msdirectory' in tmpInput 
     || 'directory' in tmpInput) return true; 

    return false; 
} 
+0

Cảm ơn bạn đã trả lời. Điều này là khá nhiều những gì chúng tôi đã làm trong một bài kiểm tra Modernizr tùy chỉnh. –

Các vấn đề liên quan