diff --git a/src/index.js b/src/index.js index 3528012..57109ff 100644 --- a/src/index.js +++ b/src/index.js @@ -1,9 +1,14 @@ import Memory from './memory'; import Storage from './storage'; -const store = typeof window !== 'undefined' && 'localStorage' in window - ? window.localStorage - : Memory; +let store; +['localStorage', 'sessionStorage'].forEach( v => { + if (store) return; + try { + store = typeof window !== 'undefined' && v in window ? window[v] : undefined; + } catch (e) { console.log(v + ' error: ' + e) } +}) +if (!store) store = Memory; const ls = new Storage(store); const VueLocalStorage = {