Javascript window.requestFileSystem 不工作
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/6803064/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
window.requestFileSystem not working
提问by Tony2
I am trying on Firefox,IE 9,Chrome and Opera the code below ,but the onInitFs(fs) function doesn't get called.if I add '()' to onInitFs in the window.requestFileSystem(window.PERSISTENT, 1024*1024, onInitFs, errorHandler) that function get called but fs is null ? Does anybody know how to solve this problem?I try on windows 7.I'll appreciate very much your help.
我正在 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>
回答by Raynos
Only chrome supports requestFileSystem
as the webkitRequestFileSystem
version.
仅支持 chromerequestFileSystem
作为webkitRequestFileSystem
版本。
None of the other browsers (FF6, IE9, Op11) support this
其他浏览器(FF6、IE9、Op11)都不支持这个
回答by Marvin Emil Brach
Disregarding the security issue that you cannot "browse" local files with a website, your question should be answered:
不考虑您无法通过网站“浏览”本地文件的安全问题,您的问题应该得到回答:
When requesting a PERSISTENT filesystem you have to request a quota in first. Try that instead:
请求持久性文件系统时,您必须首先请求配额。试试这个:
window.storageInfo.requestQuota(PERSISTENT, 1024*1024,
function(grantedBytes) {
window.requestFileSystem(window.PERSISTENT, grantedBytes, onInitFs, errorHandler);
},
errorHandler
);