我不确定IE8是否完全支持localStorage。 但我使用以下方法来检测
function supports_html5_storage()
{
try {
return 'localStorage' in window && window['localStorage'] !== null;
}
catch (e) {
return false;
}
}
现在IE在窗口
中为'localStorage'返回true但是对于window ['localStorage']
返回undefined我应该更新此方法还是IE8确实具有本地存储支持?
答案 0 :(得分:6)
您可以尝试设置和阅读localStorage。
某些浏览器会返回安全错误 如果cookie被禁用或您正在使用file:protocol。
function hasStorage(){
try{
localStorage.setItem('test', '7');
if(localStorage.getItem('test')=== '7'){
localStorage.removeItem('test');
return true;
}
}
catch(er){}
return false;
}
<强>警报(hasStorage())强>
答案 1 :(得分:5)
这是一个着名的localStorage插件https://github.com/marcuswestin/store.js/ 您可以非常轻松地添加,编辑和删除数据,最重要的是您可以在IE6 +中使用localstorage。
store.js在可用时使用localStorage,并且回退到IE6和IE7中的userData行为。没有闪光可以减慢页面加载速度。没有cookie可以增加您的网络请求。 例如:
store.set('user', { name: 'marcus', likes: 'javascript' })
答案 2 :(得分:2)
您可以使用Modernizr:
if (Modernizr.localstorage) {
// localStorage is available
}