jQuery和js之Cookie實現


Web開發者的朋友們基本上都知道,jQuery是對js的封裝。今天之所以想講解這個問題,主要是因為Cookie用的還是比較多,應用場景除了老生常談的購物車,還有就是用戶狀態(以我之前開發的一個項目除了session和token外,還有一個加密cookie,雙重保護,確保系統安全)。

一、js中的Cookie增加、獲取、刪除操作

1.添加Cookie(保存Cookie)

function setCookie(c_name,value,expiredays){
    var cookieStr = "";
    var exdate=new Date();
    exdate.setDate(exdate.getDate()+expiredays);
    document.cookie = c_name+ "=" +escape(value)+
    ((expiredays==null) ? "" : "; expires="+exdate.toGMTString())+";path=/";
}//由於cookie存在域的概念,且在這里要不區分域,獲取cookie的值,所以在這里使用的是統一的路徑 path=/ ;

2.獲取Cookie

function getCookie(c_name){
    if (document.cookie.length>0){ 
        console.log(document.cookie);
        c_start=document.cookie.indexOf(c_name + "=");
        if (c_start!=-1){ 
            c_start=c_start + c_name.length+1; 
            c_end=document.cookie.indexOf(";",c_start);
            if (c_end==-1) c_end=document.cookie.length;
            return unescape(document.cookie.substring(c_start,c_end));
        } 
    }
    return "";
}

3.刪除Cookie

function delete_cookie( name, path, domain ) {
  if( get_cookie( name ) ) {
    document.cookie = name + "=" +
      ((path) ? ";path="+path:"")+
      ((domain)?";domain="+domain:"") +
      ";expires=Thu, 01 Jan 1970 00:00:01 GMT";
  }
}

二、jQuery如何操作Cookie

前提必須要有jQuery.min.js和jQuery.cookie.js。
jQuery.cookie.js下載:http://plugins.jquery.com/cookie/

1.jQuery添加Cookie

    

$.cookie('the_cookie', 'the_value', { expires: 7 });

2.jQuery獲取Cookie


$.cookie('the_cookie');

3.jQuery刪除Cookie


$.cookie('the_cookie', null);

js和jQuery對比,兩者效果明顯,從中也能體現框架化繁為簡的特性。

注意事項:
有的瀏覽器禁用Cookie會看不到Cookie信息,比如Google。上面的例子是沒有問題的,如果你發現在你本地運行不出來,該導入的庫也導入了還是沒有效果,也不報錯,這個時候你就需要看看是不是瀏覽器禁用Cookie了。

本文參考資料:
jQuery之操作Cookie:https://www.cnblogs.com/s313139232/p/7839037.html
js中Cookie操作:https://www.cnblogs.com/springlight/p/5953153.html
關於js操作Cookie(包含Cookie相關的基礎知識):https://blog.csdn.net/web_yzm/article/details/81669772


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM