web開發過程中如果網站有一部分信息是存儲在cookie中並與服務器交互的話,那麼前台有時就會遇到需要對cookie中信息進行操作的情況,一個最典型的例子就是在前台判斷用戶是否登錄過當前所訪問的網站。
可以用js原生的代碼操作cookie,不過對於已經習慣在前台使用jquery的人員來說,最好能有一種直接擴展到jquery實例對象中的方法來統一操作風格,這裡記錄一個個人感覺還算簡潔的方案。
$.extend({ cookie : function(name, val) { if (!val) { var a = document.cookie.match(RegExp("(^|\s*)" + name + "=([^;]*)(;|$)")); return a ? decodeURIComponent(a[2]) : null; } else { document.cookie = name + "=" + escape(val); } }, removeCookie : function(name) { var expires = new Date(); expires.setTime(expires.getTime() - 1); document.cookie = name + "=;expires=" + expires.toGMTString(); } });
這樣的話使用起來就統一風格了,以登錄為例:
取值--$.cookie("logonFlag");
賦值--$.cookie("logonFlag", true);
刪除--$.removeCookie("logonFlag");
cookie方法作為賦值功能使用時還可以提供第三個參數擴展,由用戶對需要賦值的cookie提供可選的屬性並賦值。
實際使用時發現這裡的賦值/取值有些限制,對某些特殊符號(比如“>”、“<”符號)不能有效的編碼/解碼,不過總體來說還是很方便使用的。
以上所述是小編給大家介紹的jQuery操作cookie,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家的支持!