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