原生js--cookie

一、本地存储方式的补充:数据库

flash cookie ,用于flash,最大不超过100k,借助flash的ExternalInterface接口,能够实现js对flash cookie的操做api

google gears, 是google开发的一款浏览器插件,内嵌SQLite数据库,并提供了api对其进行操做,但已被废弃浏览器

indexedDB,目前在firefox中有实现,同cookie等存储方式相比,它能够存储多种类型的数据cookie

 

二、cookiegoogle

一、cookie的值中不容许包含分号、逗号和空白符,在存储以前最好使用encodeURIComponent方法对其进行编码,读取时再进行解码编码

二、和jQuery中不一样的是,原生操做cookie设置过时时间使用的秒(s)而不是天(d)firefox

三、设置cookie插件

function setCookie( name, value, time ){
    var cookie = name + "=" + encodeURIComponent( value );
    if( typeof time === "number" ){
        cookie += "; max-age=" + time;
    }
    document.cookie = cookie;
}code

四、获取所有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;}

相关文章
相关标签/搜索