我正在尝试设置一个文件存储空间以供以后在Phonegap中使用,但现在在Chrome中进行调试.按照
html5rocks所述的方式只允许我从用户请求配额,但是不执行请求文件系统时的回调.看到:
window.webkitStorageInfo.requestQuota(PERSISTENT,1024*1024*1024,function(grantedBytes) { requestFS(grantedBytes); },onError); function requestFS(grantedBytes) { window.webkitRequestFileSystem(window.PERSISTENT,grantedBytes,function(fs) { // ... does not get called ################################### },onError); }
现在Chrome警告我webkitStorageInfo已被弃用,并且从今天开始有一个新标准https://dvcs.w3.org/hg/quota/raw-file/tip/Overview.html.我尝试使用navigator.webkitPersistentStorage但没有成功.
文件系统API是否可能当前不工作或已被弃用,或者我的上述代码可能有问题?
navigator.webkitPersistentStorage.queryUsageAndQuota(function(usage,quota) { console.log(arguments); navigator.webkitPersistentStorage.requestQuota(1024 * 1024,function(grantedQuota) { console.log(arguments); window.webkitRequestFileSystem(window.PERSISTENT,1024 * 1024,function(fs) { console.log(arguments); }); }); });
更新:
我得到了Eric Bidelman工作的Filer,所以我的代码中的某些东西一定是错的,尽管我看不出Filer init方法和我正在做的事情之间的区别.
解决方法
我正在运行Chorme 27并且下面似乎工作,显示指示的日志消息
function onError () { console.log ('Error : ',arguments); } navigator.webkitPersistentStorage.requestQuota (1024*1024*1024,function(grantedBytes) { console.log ('requestQuota: ',arguments); requestFS(grantedBytes); },onError); function requestFS(grantedBytes) { window.webkitRequestFileSystem(window.PERSISTENT,function(fs) { console.log ('fs: ',arguments); // I see this on Chrome 27 in Ubuntu },onError); }
基本上我将原始代码中的window.webkitStorageInfo.requestQuota更改为navigator.webkitPersistentStorage.requestQuota并删除了PERSISTENT参数