IE8和localStorage支持

时间:2013-03-09 17:16:24

标签: javascript html5 local-storage

我不确定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确实具有本地存储支持?

3 个答案:

答案 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
}