window.requestFileSystem не работает - PullRequest
10 голосов
/ 24 июля 2011

Я пытаюсь использовать Firefox, IE 9, Chrome и Opera приведенный ниже код, но функция onInitFs (fs) не вызывается. Если я добавляю '()' к onInitFs в window.requestFileSystem (window.PERSISTENT), 1024 * 1024, onInitFs, errorHandler) эта функция вызывается, но fs имеет значение null?Кто-нибудь знает, как решить эту проблему? Я пробую на Windows 7. Я буду очень признателен за вашу помощь.

<!DOCTYPE HTML>
`<html>
    <head>  
    <script>
        function errorHandler(e){
            alert("errorrrr");
        }
        function onInitFs(fs){
        alert("onInitFs");
        }
        function readClick(){
                 if (window.webkitRequestFileSystem) {
                     window.webkitRequestFileSystem(window.PERSISTENT, 1024*1024,onInitFs,errorHandler);
                } 
                 else {
                    window.requestFileSystem(window.PERSISTENT, 1024*1024, onInitFs, errorHandler);
                }

            alert("read finishsssss");
        }
        </script>
    </head>
<body>
<input type="button" value="Read dir" onclick="readClick()">
    <ul id="filelist"></ul>
</body>
</html>

Ответы [ 2 ]

14 голосов
/ 24 июля 2011

Только Chrome поддерживает requestFileSystem в качестве версии webkitRequestFileSystem.

Ни один из других браузеров (FF6, IE9, Op11) не поддерживает это

4 голосов
/ 12 октября 2012

Несмотря на проблему безопасности, из-за которой вы не можете «просматривать» локальные файлы на веб-сайте, на ваш вопрос следует ответить:

При запросе файловой системы PERSISTENT сначала необходимо запросить квоту.Попробуйте вместо этого:

window.storageInfo.requestQuota(PERSISTENT, 1024*1024, 
    function(grantedBytes) {
        window.requestFileSystem(window.PERSISTENT, grantedBytes, onInitFs, errorHandler);
    }, 
    errorHandler
);
...