store.js 跨浏览器的localStorage
store.js 跨浏览器的localStorage
我们总是想要储存一些数据在浏览器端,却对复杂的兼容性头疼,store.js很好的解决了这些问题。
store.js ☍
使用它相当简单:
// 储存数据
store.set('username', 'marcus')
// 获取数据
store.get('username')
// 删除数据
store.remove('username')
// 清除所有数据
store.clear()
// 储存对象,store.js会使用JSON.stringify字符串化对象
store.set('user', { name: 'marcus', likes: 'javascript' })
// 获取对象,store.js会使用JSON.parse解析字符串
var user = store.get('user')
alert(user.name + ' likes ' + user.likes)
// 获取所有属性
store.getAll().user.name == 'marcus'
// 遍历store
store.forEach(function(key, val) {
console.log(key, '==', val)
})
需要注意的
- safari隐私模式下存在localStorage对象,但是使用会报错,所以使用前需要先判断
store.enabled
if(store.enabled){
...
}
- 如果要兼容ie6、7,则需要另外使用 JSON2 插件
store.js 跨浏览器的localStorage的更多相关文章
- ZeroClipboard / jquery.zclip.min.js跨浏览器复制插件使用中遇到的问题解决
之前写过一个淘宝优惠券连接PC端转手机端连接的小工具,当时写到将转换好的url复制到剪切板这块时解决了IE和火狐,就是没办法搞定Chrome,知道可以通过flash搞定,但是觉得太麻烦没有仔细研究. ...
- JS跨浏览器的事件处理
1. 事件流 事件:用户或浏览器自身执行的某种动作.如click(点击事件).mouse***(鼠标事件). 事件流:页面中接收事件的顺序,也可理解为事件在页面中传播的顺序. DOM事件流包括三个阶段 ...
- js 跨浏览器实现事件
我们知道不同的浏览器实现事件是不同的,就比如说我们常见的有三种方法: 1,dom0处理事件的方法,以前的js处理事件都是这样写的. (function () { var p=document.getE ...
- js跨浏览器的事件处理函数
/* 跨浏览器的事件处理函数 */ var EventUtil = { addHandler : function(element,type,handler){ if(element.addEvent ...
- js跨浏览器事件对象、事件处理程序
项目中有时候会不用jquery这么好用的框架,需要自己封装一些事件对象和事件处理程序,像封装AJAX那样:这里面考虑最多的还是浏览器的兼容问题,原生js封装如下:var EventUtil={ //节 ...
- 原生JS跨浏览器事件封装处理
引子:用javascript给元素绑定事件,我们可以用addEventListener这个方法,然而这个方法有兼容问题,比如在IE浏览器上面就无效,在IE上面要用attachEvent这个方法 一.a ...
- js跨浏览器复制: ZeroClipboard
实例结构: demo.html <script type="text/javascript" src='http://code.jquery.com/jquery.js'&g ...
- js跨浏览器事件处理
var EventUtil = { addHandler: function(element,type,handler){ if(element.addEventListener){ element. ...
- js 跨浏览器获取事件信息模块
var EventUtil = { addHandler: function(element, type, handler) { if (element.addEventListener) { ele ...
随机推荐
- 经典笛卡尔积SQL
经典笛卡尔积SQL: 下面的SQL会造成笛卡尔积: insert into tydic.temp_0731 select a.user_id,a.province_code,b.attr_code f ...
- unity基础开发----unity游戏速度更快的简易检查表
让游戏速度更快的简易检查表 保持顶点数在 200K 下面,针对 PC 时每帧应为 3M,主要取决于目标 GPU. 若使用内置着色器,请在移动 (Mobile) 或未点亮 (Unlit) 的类别中选择. ...
- CocoaAsyncSocket 与 Java服务 交互
注意:向客户端写数据时最后需要加上\n,不然很久都不会得到服务端的返回. 上面为普通的socket服务端,最近项目采用apache mina框架建后台的socket服务端,采用上面的asyncSock ...
- 【微信小程序】在js中导入第三方js或自己写的js,使用外部js中的function的两种方法 import和require的区别使用方法 【外加:使用第三方js导出的默认function的调用方法】
如下 定义了一个外部js文件,其中有一个function import lunaCommon from '../lunaCommon.js'; var ctx = wx.getStorageSync( ...
- USACO numtri 数塔问题
/* ID:kevin_s1 PROG:numtri LANG:C++ */ #include <iostream> #include <cstdio> #include &l ...
- [翻译] JFDepthView 给view提供3D景深
JFDepthView 给view提供3D景深 https://github.com/atljeremy/JFDepthView This is an iOS project for presenti ...
- JNI/NDK开发指南(十)——JNI局部引用、全局引用和弱全局引用
转自:http://blog.csdn.net/xyang81/article/details/44657385 这篇文章比较偏理论,详细介绍了在编写本地代码时三种引用的使用场景和注意事项.可能看 ...
- C++中 使用数组作为map容器VAlue值的解决方法
1)是用Vector容器代替数组 2)使用数组指针(需要注意局部变量的问题,指针是否需要用new创建) int red [ 3 ] = { 1 , 0 , 0 }; int green [ 3 ] ...
- 二层交换机当三层交换机,使用单臂路由实现二层交换机上的VLAN互通
众多中小企业内部网络结构都很简单,仅仅是用一台交换机将所有员工机以及服务器连接到一起,然后通过光纤访问internet而已.当然为了保证部分主机的安全性以及分割内部广播包提高网络传输速度,采取诸如划分 ...
- ASP.Net生成静态HTML页
动态网页开发技术中,为了降低网站维护的工作量,常常用到动态页面技术.目前因特网上流行的做法是将网站中需要经常更新的数据存放到数据库中,当客户端浏览器向服务器发出HTTP请求时,服务器通过执行.解释某个 ...