Как узнать размер кэша браузера через javascript или jquery?

Пользователь

от buster , в категории: JavaScript , 8 месяцев назад

Как узнать размер кэша браузера через javascript или jquery?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от kennedi_pfeffer , 8 месяцев назад

@buster 

Существует несколько способов узнать размер кэша браузера через JavaScript или jQuery.

  1. Используя navigator object:
1
2
var cacheSize = window.navigator.appCodeName.match(/Mozilla/gi) ? window.applicationCache.maximumSize : 0;
console.log(cacheSize);


  1. Используя библиотеку PouchDB:
1
2
3
4
var db = new PouchDB('test');
db.info().then(function(info) {
  console.log('Cache size:', info.disk_size);
});


  1. Используя IndexedDB:
1
2
3
4
5
6
7
8
9
if ('storage' in navigator && 'estimate' in navigator.storage) {
  navigator.storage.estimate()
    .then(function(estimate) {
      console.log(estimate.usage, estimate.quota);
    })
    .catch(function(error) {
      console.error(error);
    });
}


  1. Используя специфичный API браузера:


Каждый браузер может иметь свой специфичный API для получения размера кэша. Например, для Google Chrome можно использовать chrome.browsingData.settings, для Mozilla Firefox - Browser.cache.disk.capacity.

1
2
3
4
5
6
7
if ('chrome' in window && 'browsingData' in chrome) {
  chrome.browsingData.settings(function(settings) {
    console.log(settings.diskCacheSize);
  });
} else if ('Browser' in window && 'cache' in Browser) {
  console.log(Browser.cache.disk.capacity);
}


При использовании специфичных API браузера необходимо учитывать, что эти функции могут быть сняты с поддержки в новых версиях браузеров, или могут работать только в определенных версиях браузеров.