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

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

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

Ответы на вопрос(3)

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

Решение Вопроса

Заменить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); 
};

Так, первое число указывает, сколько байтов используется,
второе число показывает размер квоты.

 Jophin Joseph07 мая 2012 г., 10:32
Спасибо Роб. И еще одно уточнение, размер указан в байтах, верно?
 Rob W07 мая 2012 г., 14:43
@ JophinJoseph Очевидно, да.

то API.

Оно используетnavigator.webkitPersistentStorage.requestQuota вместо устаревшегоwindow.webkitStorageInfo.queryUsageAndQuota:

Query Quota
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 - еще одна оболочка (но не трогалась годами).

 ebidel16 апр. 2015 г., 02:43
Штекер для Github.com / ebidel / filer.js, который является еще одним помощником поверх API файловой системы и использует обновленный API квот.

Ваш ответ на вопрос