Альтернативы клиентскому хранилищу БД в режиме приватного просмотра

Я сделал веб-сервис. Когда пользователь входит в систему, служба создает indexddb (idb) в openRequest.onupgradeneeded и записывает данные в базу данных в openRequest.onsuccess. Коды выглядят так,

export async function getCurrUser(window) {
    window.indexedDB = window.indexedDB || window.mozIndexedDB || window.webkitIndexedDB || window.msIndexedDB;
    let  openRequest = indexedDB.open('userData',2);
    openRequest.onsuccess =  e =>{/*write data to db*/}
    openRequest.onupgradeneeded =  e => {/*build db*/}
    openRequest.onerror=e=> {//case private browsing}
}

в режиме приватного просмотра вызывается только openRequest.onerror; в моем случае пользователь никогда не сможет успешно войти в систему. Поскольку невозможно записать все данные в локальное хранилище, я ищу подходящие альтернативы для хранения в режиме приватного просмотра. Любые предложения приветствуются.

1 ответ

https://www.npmjs.com/package/local-storage-fallback может быть тем, что вы ищете.

С настройками браузера, такими как "Приватный просмотр", стало проблемой полагаться на работающий window.localStorageдаже в новых браузерах. Даже если он может существовать, он будет выдавать исключения при попытке использования setItem или же getItem, Этот модуль будет запускать соответствующие проверки, чтобы увидеть, какой механизм хранения браузера может быть доступен, а затем выставить его. Он использует тот же API, что и localStorage так что в большинстве случаев он должен работать в качестве замены.

Другие вопросы по тегам