3

webkitStorageInfo.queryUsageAndQuota() は、HTML5 ファイル システム API を使用して、ファイル システムに保存されているファイルの使用統計を調べるために使用されます。この関数に提供されるコールバックで取得できる詳細を教えてください。

window.webkitStorageInfo.queryUsageAndQuota(webkitStorageInfo.PERSISTENT, function() {
   //what all details can be obtained in this function as its arguments?
})
4

3 に答える 3

11

以下は、現在のAPI を使用した 2 つの例です。

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は別のラッパーです (ただし、何年も触れられていません)。

于 2015-04-15T23:50:19.470 に答える
5

に置き換える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]
インターフェイス StorageInfoUsageCallback {
  void handleEvent( unsigned long long currentUsageInBytes , 
                    unsigned long long currentQuotaInBytes );
};

したがって、最初の数字は使用されているバイト
数を示し、2 番目の数字はクォータのサイズを示します。

于 2012-05-07T08:09:52.517 に答える
2
// 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); 
} );

使用場所と残りのバイト数

Google 開発者から取得

于 2013-02-01T02:48:51.663 に答える