Альтернативы клиентскому хранилищу БД в режиме приватного просмотра - PullRequest
0 голосов
/ 04 декабря 2018

Я сделал веб-сервис.Когда пользователь входит в систему, служба создает 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 Ответ

0 голосов
/ 04 декабря 2018

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

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

...