IE8和localStorage支持

Tes*_*est 4 javascript html5 local-storage

我不确定IE8是否完全支持localStorage.但我使用以下方法来检测

function supports_html5_storage() 
{
    try { 
    return 'localStorage' in window && window['localStorage'] !== null; 
    } 
    catch (e) {
    return false; 
    } 
}
Run Code Online (Sandbox Code Playgroud)

现在IE在窗口中为'localStorage'返回true

但是对于window ['localStorage']返回undefined

那么我应该更新这个方法还是IE8确实有本地存储支持?

ken*_*bec 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;
}
Run Code Online (Sandbox Code Playgroud)

警报(hasStorage())


小智 5

这是一个著名的localStorage插件 https://github.com/marcuswestin/store.js/, 您可以非常轻松地添加,编辑和删除数据,最重要的是可以在IE6 +中使用localstorage。

store.js在可用时使用localStorage,并依赖于IE6和IE7中的userData行为。无闪存可减慢页面加载速度。没有cookie可以增加您的网络请求。例如:

store.set('user', { name: 'marcus', likes: 'javascript' })
Run Code Online (Sandbox Code Playgroud)