webkitStorageInfo.queryUsageAndQuota()用来找出已存储在使用HTML5文件系统API,我想在文件系统中的文件的使用情况统计信息。 谁能给我,可以在提供给这个函数的回调中获得的细节。
window.webkitStorageInfo.queryUsageAndQuota(webkitStorageInfo.PERSISTENT, function() {
//what all details can be obtained in this function as its arguments?
})
替换function(){...}
与console.log.bind(console)
,你会找到答案。
> window.webkitStorageInfo.queryUsageAndQuota(webkitStorageInfo.PERSISTENT, console.log.bind(console))
undefined // Return value of ^
0 0 // Printed results, argument 0 and argument 1
回调的解释被发现这里 :
interface StorageInfo {
....
// Queries the current quota and how much data is stored for the host.
void queryUsageAndQuota(
unsigned short storageType,
optional StorageInfoUsageCallback successCallback,
optional StorageInfoErrorCallback errorCallback);
...
[NoInterfaceObject, Callback=FunctionOnly]
interface StorageInfoUsageCallback {
void handleEvent(unsigned long long currentUsageInBytes,
unsigned long long currentQuotaInBytes);
};
所以,第一个数字表示了多少字节使用,
第二个数字表示配额的大小。
下面是两个例子与当前的API。
它采用navigator.webkitPersistentStorage.requestQuota
,而不是过时的window.webkitStorageInfo.queryUsageAndQuota
:
查询配额
navigator.webkitPersistentStorage.queryUsageAndQuota (
function(usedBytes, grantedBytes) {
console.log('we are using ', usedBytes, ' of ', grantedBytes, 'bytes');
},
function(e) { console.log('Error', e); }
);
请求限额
var requestedBytes = 1024*1024*280;
navigator.webkitPersistentStorage.requestQuota (
requestedBytes, function(grantedBytes) {
console.log('we were granted ', grantedBytes, 'bytes');
}, function(e) { console.log('Error', e); }
);
这里我们使用navigator.webkitPersistentStorage
查询和请求持久存储配额。 您还可以使用navigator.webkitTemporaryStorage
临时存储配额工作。
目前的Chrome实现跟踪这个特定的规范版本,它描述的东西多一点: https://www.w3.org/TR/quota-api/ 。
他们还特意解释之间的差别temporary
和permanent
这里 :临时数据更像是你的tmp
文件夹或弱引用,因为,事情可能会在系统的兴致被删除,而永久性的数据总是应该得到删除之前通知用户。
你可能要开始与包装,以逃避所有附带针对Web API的工作浏览器的兼容性地狱(规格明确国家的很多地方:“这是一个建议,并可能更改,恕不任何通知”)。 Dexie ,例如,是IndexedDB的一个积极发展的包装。
chromestore.js是另一种包装(但多年没有被感动)。
// Request storage usage and capacity left
window.webkitStorageInfo.queryUsageAndQuota(webkitStorageInfo.TEMPORARY, //the type can be either TEMPORARY or PERSISTENT
function(used, remaining) {
console.log("Used quota: " + used + ", remaining quota: " + remaining);
}, function(e) {
console.log('Error', e);
} );
使用,其余地方都是以字节为单位
来自谷歌devlopers
文章来源: What are the details can be obtained from webkitStorageInfo.queryUsageAndQuota()