Comments (2)
Looks like there's no reliable method out there. Need more research.
from maxdown.
You can check for localStorage
with a one-liner like
var hasLocalStorage = !!(window.localStorage);
The !!
turns whatever window.localStorage
returns into a boolean, kind of like (bool) $myVar
in PHP.
This should work in most cases, anyway you may want to check if localStorage is native or not, so the whole script might look like this:
var hasLocalStorage = (function(window, document, undefined) {
var hasStorage = window.localStorage;
var isNative;
// when there's nothing assigned to window.localStorage
// return false because there's no localStorage
if(!hasStorage) {
return false;
}
// This code only gets executed when the above is true, so localStorage is supported
// Native window.localStorage returns "[object Storage]" when toString() is used
// the indexOf('[object Storage]') > -1 returns true if "[object Storage]" is found and
// false if not.
isNative = window.localStorage.toString().indexOf('[object Storage]') > -1;
if(isNative) {
return true;
} else {
// handle non-native implementation? Maybe return -1 or whatever.
return -1;
}
}(window, document));
// Example
if(hasLocalStorage > -1) {
// SUPPORTED \o/
} else {
window.localStorage = function() { ... }
}
http://codepen.io/kevingimbel/pen/OyVyQW/
from maxdown.
Related Issues (20)
- Fullscreen icon toggle doesn't work on ESC exit
- Theme adjustments HOT 2
- Set cookie for current used theme HOT 1
- Add possibility to download documents (save) HOT 2
- Beautify documents-scrollbar (cross-browser)
- Favicons HOT 1
- Add version check page HOT 1
- Code blocks are not highlighted HOT 1
- Menu shortcut isnβt working anymore after the last update β ctrl + M HOT 1
- Include appcache for local offline support HOT 1
- Add word count
- Add character count
- Add reading time
- Set current theme setting on first visit
- Save settings (theme, etc) not in cookie but in localStorage
- Add dropbox integration HOT 1
- No functionality on Nexus 5 HOT 2
- Make Export/Preview page only accessable if a document is open
- Numbered list styling breaks
- External Links open in same window
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 maxdown.