原生js--cookie
1、本地存储方式的补充:
flash cookie ,用于flash,最大不超过100k,借助flash的ExternalInterface接口,可以实现js对flash cookie的操作
google gears, 是google开发的一款浏览器插件,内嵌SQLite数据库,并提供了api对其进行操作,但已被废弃
indexedDB,目前在firefox中有实现,同cookie等存储方式相比,它可以存储多种类型的数据
2、cookie
1、cookie的值中不允许包含分号、逗号和空白符,在存储之前最好使用encodeURIComponent方法对其进行编码,读取时再进行解码
2、和jQuery中不同的是,原生操作cookie设置过期时间使用的秒(s)而不是天(d)
3、设置cookie
function setCookie( name, value, time ){
var cookie =
name + "=" + encodeURIComponent( value );
if( typeof time
=== "number" ){
cookie += "; max-age="
+ time;
}
document.cookie =
cookie;
}
4、获取全部cookie并保存到对象当中:
function getCookie(){
var cookie = {};
var all = document.cookie;
if( all === ""
){
return cookie;
}
var list = all.split( "; " );
for( var i=0; i<list.length; i++ ){
var singleCookie = list[i];
var p
= singleCookie.indexOf( "=" );
var name
= singleCookie.substring( 0, p );
var
value = singleCookie.substring( p+1 );
value = decodeURIComponent( value );
cookie[name] = value
}
return
cookie;
}
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。