Альтернативы клиентскому хранилищу БД в режиме приватного просмотра
Я сделал веб-сервис. Когда пользователь входит в систему, служба создает 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
так что в большинстве случаев он должен работать в качестве замены.