Comments (3)
Unfortunately this is unrelated to this library, and is just how Safari on iOS works - by design. LocalStorage appears to be available, but the quota is set to 0 in private mode. If you google for "Safari iOS localStorage private mode" you'll find a bunch of info about the issue.
We could detect this scenario by doing:
let isEnabled = true;
try {
localStorage.setItem('test', 'test');
} catch (e) {
isEnabled = false;
}
However, I'm not sure what the fallback storage ought to be.
I'm falling back to storing values in memory for one application - e.g. if LS fails I put my session token in a global variable on window and grab it from there when I need it. That works for my situation, but it might be unexpected if we built it in to this library (obviously the data is gone from memory as soon as you refresh the page).
Any suggestions on dealing with this are welcome
from angular-2-local-storage.
@elwynelwyn I think the correct way is to fallback to a cookie. That's what I'm doing in my projects and I've also seen others to it like that. It's a simple fix as well.
from angular-2-local-storage.
Using cookies as a fallback seems like a decent workaround to build in to your app.
I'd be hesitant to make that a default fallback that silently happens though due to 1) cookie size limitations in some browsers 2) unexpected csrf implications if your data is suddenly being automatically sent to the server on every request as a cookie
from angular-2-local-storage.
Related Issues (20)
- IE adding addional double quote HOT 1
- Probably need to check config for null HOT 1
- Setting prefix using a variable with aot enabled fails HOT 1
- Define Domain/Subdomain
- Same as issue #30
- TypeError: (intermediate value).share is not a function HOT 1
- rxjs pipe() ?
- a
- ng test error Error: StaticInjectorError(DynamicTestModule)[AuthenticationService -> LocalStorageService] HOT 3
- Update Support for Angular 6+ is not published to npm
- Metadata version mismatch node_modules/angular-2-local-storage/dist/notify-options.interface.d.ts, found version 4, expected 3 HOT 8
- setItem$ Observable firing in component but not in directive HOT 1
- ERROR in Error: Metadata version mismatch for module node_modules/angular-2-local-storage/dist/index.d.ts, found version 4, expected 3 HOT 2
- Update to angular 7 HOT 4
- TypeError: Cannot read property 'notifyOptions' of null HOT 4
- [3.0.0] Error when run the project after build HOT 8
- Change/Release notes for 3.x HOT 4
- Update CHANGELOG.md
- Angular 10 build problem HOT 4
- Angular 10 deprecated the use of ModuleWithProviders type without a generic. HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from angular-2-local-storage.