我正在尝试设置一个文件存储空间,以便以后在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方法和我正在做的事情之间的区别。
答案 0 :(得分:8)
我正在运行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, grantedBytes, function(fs) {
console.log ('fs: ', arguments); // I see this on Chrome 27 in Ubuntu
}, onError);
}
基本上我将原始代码中的window.webkitStorageInfo.requestQuota
更改为navigator.webkitPersistentStorage.requestQuota
并删除了PERSISTENT
参数