store.js - 实现本地存储(LocalStorage)

原创 2016年05月30日 11:47:13

store.js 如下:

var store = (function () {

    var api               = {},
        win               = window,
        doc               = win.document,
        localStorageName  = 'localStorage',
        globalStorageName = 'globalStorage',
tableKeys=[],
        storage;


    api.set    = function (key, value) {};
    api.get    = function (key)        {};
    api.remove = function (key)        {};
    api.clear  = function ()           {};


    if (localStorageName in win && win[localStorageName]) {
        storage    = win[localStorageName];
        api.set    = function (key, val) { storage.setItem(key, val) };
        api.get    = function (key)      { return storage.getItem(key) };
        api.remove = function (key)      { storage.removeItem(key) };
        api.clear  = function ()         { storage.clear() };
api.forEach = function() {

return storage;
}


    } else if (globalStorageName in win && win[globalStorageName]) {
        storage    = win[globalStorageName][win.location.hostname];
        api.set    = function (key, val) { storage[key] = val };
        api.get    = function (key)      { return storage[key] && storage[key].value };
        api.remove = function (key)      { delete storage[key] };
        api.clear  = function ()         { for (var key in storage ) { delete storage[key] } };


    } else if (doc.documentElement.addBehavior) {
        function getStorage() {
            if (storage) { return storage }
            storage = doc.body.appendChild(doc.createElement('div'));
            storage.style.display = 'none';
            // See http://msdn.microsoft.com/en-us/library/ms531081(v=VS.85).aspx
            // and http://msdn.microsoft.com/en-us/library/ms531424(v=VS.85).aspx
            storage.addBehavior('#default#userData');
            storage.load(localStorageName);
            return storage;
        }
        api.set = function (key, val) {
            var storage = getStorage();
            storage.setAttribute(key, val);
            storage.save(localStorageName);
        };
        api.get = function (key) {
            var storage = getStorage();
            return storage.getAttribute(key);
        };
        api.remove = function (key) {
            var storage = getStorage();
            storage.removeAttribute(key);
            storage.save(localStorageName);
        }
        api.clear = function () {
            var storage = getStorage();
            var attributes = storage.XMLDocument.documentElement.attributes;;
            storage.load(localStorageName);
            for (var i=0, attr; attr = attributes[i]; i++) {
                storage.removeAttribute(attr.name);
            }
            storage.save(localStorageName);
        }
    }
    return api;

})();


js中引用方式:

1.引入文件:<script src="js/store.js" type="text/javascript"></script>

store.set('username''marcus')//存值
store.get('username')//取值
store.remove('username')//移除某一项

    store.clear();//清除全部
   

   //遍历所有
   var storage = store.forEach();
  for (var i=0; i<storage.length; i++) {
var key = storage.key(i)

                        var result= storage.getItem(key);

                       alert(result);
}




                                                                                                                                                                                                                               Songsong



版权声明:本文为博主原创文章,未经博主允许不得转载。

store.js - 轻松实现本地存储(LocalStorage)

store.js 是一个兼容所有浏览器的 LocalStorage 包装器,不需要借助 Cookie 或者 Flash。store.js 会根据浏览器自动选择使用 localStorage、globa...

javascript之store.js 轻松实现本地存储(LocalStorage)

摘要: store.js 是一个实现了浏览器的本地存储的 JavaScript 封装 API,不是通过 Cookie 和 Flash 技术实现,而是使用 localStorage、globalStor...

彻底解决 jspatch app store 审核通不过的问题

苹果禁止jspatch使用,app 被重复打回.开发人员亚历山大.怎么从根源上判断我们的app是否包含jspatch呢?   第一步  编译出自己的 test.ipa文件,修改后缀为test.zip....

store.js - 轻松实现本地存储(LocalStorage)

store.js - 轻松实现本地存储(LocalStorage)  store.js 是一个兼容所有浏览器的 LocalStorage 包装器,不需要Flashokie 或者 Flash ...

低版本支持本地存贮store.js+json

在项目中难免要与低版本的浏览器打交道,本地存贮跟JSON的支持总是比jquery.cookie.js+json3.js(ie7--)或者local storage强大一些,这里介绍的是一款包含支持ie...

HTML5 localStorage设置失效时间,使用store.js

localStorage本地存储,设置失效时间

js本地存储解决方案(localStorage与userData)

WEB应用的快速发展,是的本地存储一些数据也成为一种重要的需求,实现的方案也有很多,最普通的就是cookie了,大家也经常都用,但是cookie的缺点是显而易见的,其他的方案比如:IE6以上的user...

js本地存储解决方案(localStorage与userData)

WEB应用的快速发展,是的本地存储一些数据也成为一种重要的需求,实现的方案也有很多,最普通的就是cookie了,大家也经常都用,但是cookie的缺点是显而易见的,其他的方案比如:IE6以上的user...

js本地存储解决方案(localStorage与userData)

WEB应用的快速发展,是的本地存储一些数据也成为一种重要的需求,实现的方案也有很多,最普通的就是cookie了,大家也经常都用,但是cookie的缺点是显而易见的,其他的方案比如:IE6以上的user...
  • yiyiivy
  • yiyiivy
  • 2014年12月03日 13:15
  • 189
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:store.js - 实现本地存储(LocalStorage)
举报原因:
原因补充:

(最多只允许输入30个字)