1

ストレージを調べた後、テスト目的で一時ストレージをリセットしたいと思います。

window.webkitStorageInfo.requestQuota(webkitStorageInfo.TEMPORARY, 5*1024*1024,  
    function( bytes ) {
        console.log( "Quota is available: " + bytes );
    },
    function( e ) {
        console.log( "Error allocating quota: " + e );
    }); 

window.webkitStorageInfo.queryUsageAndQuota(webkitStorageInfo.TEMPORARY, 
    //the type can be either TEMPORARY or PERSISTENT
    function(used, remaining) {
        console.log("Used quota: " + used + ", current quota: " + remaining);
    }, function(e) {
         console.log('Error', e); 
    });

requestQuota() は一時ストレージ サイズを設定し、queryUsageAndQuota() は現在のクォータを教えてくれます。しかし、新しいクォータが設定されているにもかかわらず、Chrome ブラウザーでコンソール ログを見ると、queryUsageAndQuota(). 私は次のようなものを得ました:

Quota is available: 5242880
Used quota: 0, current quota: 214748364

利用可能なものと現在のクォータは同じであると予想していましたが。何故ですか?

4

1 に答える 1

2

これらの 2 つの出力を比較します

コード 1

window.webkitStorageInfo.requestQuota(webkitStorageInfo.TEMPORARY, 
             5188955171*1024*1024,  
    function( bytes ) {
        console.log( "Quota is available: " + bytes );
    },
    function( e ) {
        console.log( "Error allocating quota: " + e );
    }); 

window.webkitStorageInfo.queryUsageAndQuota(webkitStorageInfo.TEMPORARY, 
    //the type can be either TEMPORARY or PERSISTENT
    function(used, remaining) {
        console.log("Used quota: " + used + ", current quota: " + remaining);
    }, function(e) {
         console.log('Error', e); 
    });

出力 1

Quota is available: 5188982205
Used quota: 492, current quota: 5188982205

コード 2

window.webkitStorageInfo.requestQuota(webkitStorageInfo.TEMPORARY, 5*1024*1024,  
    function( bytes ) {
        console.log( "Quota is available: " + bytes );
    },
    function( e ) {
        console.log( "Error allocating quota: " + e );
    }); 
window.webkitStorageInfo.queryUsageAndQuota(webkitStorageInfo.TEMPORARY, 
    //the type can be either TEMPORARY or PERSISTENT
    function(used, remaining) {
        console.log("Used quota: " + used + ", current quota: " + remaining);
    }, function(e) {
         console.log('Error', e); 
    });

アウトプット 2

Quota is available: 5242880
Used quota: 0, current quota: 214748364

あなたのケース5242880では、すでに利用可能で利用可能な量よりも少ないマイナークォータをリクエストしたため、リクエストされたクォータで返されますsuccessCallback! 大量リクエストでクォータリセット!

window.webkitStorageInfo.requestQuotaは、使用可能なストレージよりも多くのストレージを要求するために使用されますが、Chrome はアプリに一時ストレージを自動的に提供するため、割り当てを要求する必要はありません(共有プールの最大 20%)。

参考文献

于 2013-01-08T18:10:39.693 に答える