JQuery本地存储

背景:在开发中,从1.html上直接跳转到2.html,需要将中文带过去并且在2.html上用到这个参数,但是参数通过url带过去到时候乱码了,无法直接使用,就想能否不通过url直接将参数带过去,而是使用本地存储来存取参数。

我用到的方法是:

//存入本地:
localStorage.setItem("test", "123456");

//获取参数:
localStorage.getItem("test");

这里用到的是localStorage存储在本地

一、localStorage 存储在本地

容量为5M或者更大,不会在请求时候携带传递,在所有同源窗口中共享,数据一直有效,除非人为删除,可作为长期数据。

//存入本地
localStorage.setItem("test", "123456");
//或者用下面的写法
localStorage.test='123456';

//获取参数
localStorage.getItem("test");
//或者用下面的写法
localStorage.test

//数据是有排序的,后加入的角标靠前,最后加入的角标为0
//获取第一个键,按角标获取
localStorage.key(0);
//获取最后一个键
localStorage.key("");
//获取数据的长度
localStorage.length;

//删除
localStorage.removeItem("test");

//清空
localStorage.clear();//将所有保存的数据删除

注意点:
1、localStorage数据不需要依赖服务器环境访问,可以直接在本地文件访问;
2、不需要额外的文件支持。
3、同源窗口指的是同一个域名下或者是index.html所在的文件夹下的文件路径
4、localStorage相当于将数据保存在磁盘,是永久的,但是其针对的是固定的域名下的文件,打开其他的域名下的网页,localStorage不会显示。

本地存储还有另外两种方法

二、cookie 存储在本地

容量最大4k,在同源的http请求时携带传递,损耗带宽,可设置访问路径,只有此路径及此路径的子路径才能访问此cookie,在设置的过期时间之前有效。


//写cookie
$.cookie('mycookie','123',{expires:7,path:'/'});
//cookie的设置有三个参数,第一为设置数据的键,第二个为设置数据的值,expires表示有效时间,单位为天,path为访问路径,"/"表示当前文件路径,在网站中表示根目录。

//jquery 获取cookie
$.cookie('mycookie');
//删除cookie,传递null值
$.cookie("mycookie", null});

注意点:
1、cookie的访问需要服务器环境,直接在本地文件访问无效;
2、cookie的访问和设置需要导入jquery.cookie.js文件;
3、浏览器对每一个访问的地址下可添加的cookie是有限制的;同时每个浏览器可添加的cookie个数也存在限制。
4、如果不设置路径,默认情况下只有设置cookie的网页才可以访问此cookie;如果想网站的网页可以共享cookie,将路径设为根目录。
5、cookie就相当于一个能存储数据的微型本地数据库,”mycookie”相当于每条数据的key。

三、sessionStorage 存储在本地

容量为5M或者更大,不会在请求时候携带传递,在同源的当前窗口关闭前有效。

//写入
sessionStorage.setItem('username','123456');
//或者
sessionStorage.username;

//读取
sessionStorage.getItem("username");
//或者
sessionStorage.username;

//数据是有排序的,后加入的角标靠前,最后加入的角标为0
//获取第一个键,按角标获取
sessionStorage.key(0);
//获取最后一个键
sessionStorage.key("");
//获取数据的长度
sessionStorage.length;

//删除
sessionStorage.removeItem("username");

//清空
sessionStorage.clear();//将所有保存的数据删除

注意点:
1、sessionStorage同样不需要再服务器的环境下运行;
2、不需要额外的文件支持;
3、sessionStorage数据设置后即使页面进行重载也不会清除;但当该窗口关闭后,里面的数据就会清除,再打开没有数据。相当于将数据保存在内存中。

风影OvO

风影OvO, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA 4.0协议进行授权 | 转载请注明原文链接

留下你的评论

*评论支持代码高亮<pre class="prettyprint linenums">代码</pre>

相关推荐