Какие подробности можно получить из webkitStorageInfo.queryUsageAndQuota()

webkitStorageInfo.queryUsageAndQuota() используется, чтобы узнать статистику использования файлов, которые были сохранены в файловой системе, с использованием API файловой системы HTML5, я полагаю. Может ли кто-нибудь дать мне подробности, которые можно получить в обратном вызове, предоставленном этой функции.

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

person Jophin Joseph    schedule 07.05.2012    source источник


Ответы (3)



Ниже приведены два примера с текущим 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 или слабую ссылку, в которой что-то может быть удалено по прихоти системы, в то время как постоянные данные всегда должны информировать пользователя перед удалением.

Возможно, вы захотите начать с оболочки, чтобы избежать всего ада совместимости браузера, который возникает при работе с веб-API (во многих частях спецификаций прямо указано: «Это предложение и может быть изменено без каких-либо уведомлений»). Dexie, например, является активно разрабатываемой оболочкой для IndexedDb.

chromestore.js — еще одна оболочка (но ее не трогали годами).

person Paul Irish    schedule 15.04.2015
comment
Подключить для github.com/ebidel/filer.js, который является еще одним помощником поверх API файловой системы и использует обновленный API квот. - person ebidel; 16.04.2015

// 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

person ianstarz    schedule 01.02.2013