10

我正在 Firefox、IE 9、Chrome 和 Opera 上尝试下面的代码,但不会调用 onInitFs(fs) 函数。如果我在 window.requestFileSystem(window.PERSISTENT, 1024* 中将“()”添加到 onInitFs 1024, onInitFs, errorHandler) 该函数被调用但 fs 为空?有人知道如何解决这个问题吗?我在 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>
4

2 回答 2

14

只有 chrome 支持requestFileSystem作为webkitRequestFileSystem版本。

其他浏览器(FF6、IE9、Op11)均不支持此功能

于 2011-07-23T20:23:34.520 回答
5

忽略无法通过网站“浏览”本地文件的安全问题,应该回答您的问题:

请求持久文件系统时,您必须首先请求配额。试试这个:

window.storageInfo.requestQuota(PERSISTENT, 1024*1024, 
    function(grantedBytes) {
        window.requestFileSystem(window.PERSISTENT, grantedBytes, onInitFs, errorHandler);
    }, 
    errorHandler
);
于 2012-10-12T09:01:23.013 回答