Я реализую менеджер модуля Javascript, который загружает файлы javascript через объект XHR
. Проблема этого метода заключается в кэшировании ресурсов:
- Во-первых,
XHR
полагается на встроенный механизм кэширования браузера, который в порядке, но его поведение зависит от реализации браузера. - Также существует
localStorage
, и есть basket.js, который используетlocalStorage
для кэширования загруженных сценариев, проблема в ограниченном размере хранилища, которая обычно составляет 5-10 МБ. Кроме того, localStorage является общим местом для многих сценариев, которые также используют его для хранения данных. - И есть интерфейс
Cache
APIServiceWorker
, но он доступен только вServiceWorker
runtime, поэтому он сомневается в моих потребностях.
Кто-нибудь знает какой-то умный старый или новый метод кэширования javascript, который он использует в своем проекте, или, может быть, слышал?
Примечание. Пожалуйста, не предлагайте использовать jQuery .ajax
, который является интерфейсом к XHR
, или любой другой библиотеке, которая реализует интерфейс встроенных функций Javascript.
Изменить. Были некоторые ценные предложения:
- Используйте библиотеку под названием localForage. Библиотека представляет собой унифицированный API для индексированныхDB, WebSQL и localStorage, который используется в зависимости от браузера.
- Используйте IndexedDB, который является действительно мощным хранилищем без существенных ограничений пространства. Единственная проблема заключается в том, что только современные браузеры реализуют IndexedDB.