原生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;}

相關文章
相關標籤/搜索