资源描述:
《跨浏览器本地存储接口封装,源自 store.js》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、目录·存储接口·检测是否支持(开启)LocalStorage·接口列表·浏览器支持·注意事项·原生方法与store.js的差异·自动过期实现·参考资源跨浏览器本地存储接口封装,源自 store.js,精简了针对IE6/7的代码。LocalStorage只能存储字符串,store.js在存取的时候会自动 stringify、parse。存储接口通过 $.AMUI.store 调用。检测是否支持(开启)LocalStorage爱上一匹野马之前,先想想你家有没有草原;使用之前,当然要先检测一下。 Copyvarstore=$.A
2、MUI.store;
if(!store.enabled){
alert('Localstorageisnotsupportedbyyourbrowser.Pleasedisable"PrivateMode",orupgradetoamodernbrowser.');
return;
}
varuser=store.get('user');//...andsoon...Safari的无痕浏览模式或者用户禁用了本地存储时,store.enabled 将返回 false。浏览器如何禁用LocalStorage:·Firefox
3、:地址栏输入 about:config,将 dom.storage.enabled 的值设置为 false;·Chrome: 设置 → 隐私设置 → 内容设置 → 阻止网站设置任何数据。接口列表LocalStorage 受同源策略限制,以下操作仅限于同源下的数据。·store.set(key,val):存储 key 的值为 val;·store.get(key):获取 key 的值;·store.remove(key):移除 key 的记录;·store.clear():清空存储;·store.getAll():返回所有存
4、储;·store.forEach():遍历所有存储。 Copyvarstore=$.AMUI.store;
//存储'username'的值为'marcus'
store.set('username','marcus')
//获取'username'
store.get('username')
//移除'username'字段
store.remove('username')
//清除所有本地存储
store.clear()
//存储对象-自动调用JSON.stringify
store.set('user',{name:
5、'marcus',likes:'javascript'})
//获取存储的对象-自动执行JSON.parsevaruser=store.get('user')
alert(user.name+'likes'+user.likes)
//从所有存储中获取值
store.getAll().user.name=='marcus'
//遍历所有存储
store.forEach(function(key,val){
console.log(key,'==',val)
})浏览器支持绝大多数浏览器(包括IE8)都原生支持LocalSt
6、orage。你的浏览器测试结果为:secondpassbadassert:getAllgetsall4values不同浏览器对本地存储单条记录的长度限定不同,具体可以通过以下链接测试:·WebStorageSupportTest·TestoflocalStoragelimits/quota注意事项原生方法与store.js的差异使用原生方法操作: CopylocalStorage.myage=24
localStorage.myage!==24//true
localStorage.myage==='24'//true
7、localStorage.user={name:'marcus',likes:'javascript'}
localStorage.user==="[objectObject]"//true
localStorage.tags=['javascript','localStorage','store.js']
localStorage.tags.length===32//true
localStorage.tags==="javascript,localStorage,store.js"//true使用store.js序列
8、化后的结果: Copystore.set('myage',24)
store.get('myage')===24//true
store.set('user',{name:'marcus',likes:'javascript'})
alert("Himynameis"+store.get('user'