JavaScript也能操縱cookie函式
jquery沒有直接操作cookie的函式,但我們可以寫一個cookie的操作函式,也可以下載一個jquery cookie外掛,或者直接把jquery cookie函式拿來用,這些方法都是可行的,以下文章中介紹一些基本寫法。
正常思路的普通寫法。
1.建立Cookie
我們要進行的第一件事就是要建立一個Cookie。下面給出的SctCookie()函式將完成這一功能。
function SetCookie (name, value)
{
var argv=SetCookie.arguments;
var argc=SetCookie.arguments.length;
var expires=(argc>2)?argv[2]: null;
var path=(argc>3)? argv[3]: null;
var domain=(argc>4)? argv[4]: null;
var secure=(argc>5)? argv[5]: false;
document.cookie=name+"="+escape(value)+ ((expires==null)?"":";expires="+expires.toGMTString()))+ ((path==null)?"":(";path="+path))+ ((domain==null)?"":(";domain="+ domain))+ ((secure==true)?";secure":"");
}
SetCookie()只要求傳遞被設定的Cookie的名字和值,但如果必要的話你可以設定其他4 個引數而不必改變這個函式。可選的引數必須用正確的次序使用。如果不想設定某個引數, 必須設定一個空串。比如,如果我們建立的一個Cookie需要指定secure域,但不想設定expir es, patb或domain,就可以像這樣呼叫SetCookie():
SetCookie("MyNewCookie","MyValue" ,"",","tyue);
2.讀取Cookie
下面給出的函式GetCookie()用來讀取一個Cookie。當一個Cookie的請求被客戶機收到時,該客戶機查詢它的cookies.txt檔案以進行匹配。這個函式首先匹配這個Cookie的名字。如果有多個同名的Cookie,它再匹配路徑。函式完成匹配後返回這個Cookie的值。如果客戶機中沒有這個Cookie,或者路徑不匹配,該函式返回一個NULL。
function GetCookie(name)
{
var arg=name+ "=";
var alen=arg.length;
var clen=document.cookie.length;
var i=0;
while (i<clen) {
var j=i+alen;
if(document.cookie.substring(i,j) ==arg)
return getCookieVal(j);
i=document.cookie.indexOf("",i)+1;
if(i==0)break; }
return null; }
直接把jQuery的cookie操作函式拿來用。
jQuery.cookie = function(name, value, options) {
if (typeof value != 'undefined') { // name and value given, set cookie
options = options || {};
if (value === null) {
value = '';
options.expires = -1;
}
var expires = '';
if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) {
var date;
if (typeof options.expires == 'number') {
date = new Date();
date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000));
} else {
date = options.expires;
}
expires = '; expires=' + date.toUTCString();
}
var path = options.path ? '; path=' + (options.path) : '';
var domain = options.domain ? '; domain=' + (options.domain) : '';
var secure = options.secure ? '; secure': '';
document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join('');
} else {
var cookieValue = null;
if (document.cookie && document.cookie != '') {
var cookies = document.cookie.split(';');
for (var i = 0; i < cookies.length; i++) {
var cookie = jQuery.trim(cookies[i]);
if (cookie.substring(0, name.length + 1) == (name + '=')) {
cookieValue = decodeURIComponent(cookie.substring(name.length + 1));
break;
}
}
}
return cookieValue;
}
};
使用方法如下:
設定cookie的鍵值對
$.cookie(’name’, ‘value’);
設定cookie的鍵值對,有效期,路徑,域,安全
$.cookie(’name’, ‘value’, {expires: 7, path: ‘/’, domain: ‘jquery.com’, secure: true});
新建一個cookie 包括有效期 路徑 域名等
讀取cookie的值
var account= $.cookie(’name’);
刪除一個cookie
example $.cookie(’name’, null);
本文為Anyforweb技術分享部落格,需要了解網站建設及更多Web應用相關資訊,請訪問anyforweb.com。
相關文章
- 函式實操函式
- JavaScript視窗功能指南之操縱視窗 (轉)JavaScript
- 分析:操縱的藝術
- JavaScript也能寫WebAssemblyJavaScriptWeb
- 線上社交網路中的操縱武器
- 用JDBC操縱BLOB和CLOB資料JDBC
- JavaScript—call, apply, bind 函式能幹啥?(全)(20)JavaScriptAPP函式
- javaScript函式JavaScript函式
- Runtime.getRuntime.exec操縱其他程式
- 【轉】eval()函式(javascript) - [javaScript]函式JavaScript
- 影片操縱中的新AI技術轉向AI
- 我發現我的資料被操縱了……
- 函式式JavaScript(4):函式柯里化函式JavaScript
- JavaScript Generator 函式JavaScript函式
- JavaScript 匿名函式JavaScript函式
- JavaScript function 函式JavaScriptFunction函式
- javascript函式(5)JavaScript函式
- JavaScript睡眠函式JavaScript函式
- JavaScript匿名函式JavaScript函式
- JavaScript 偏函式JavaScript函式
- JavaScript 函式(轉)JavaScript函式
- javascript-函式表示式JavaScript函式
- 函式式JavaScript(1):引言函式JavaScript
- 函式式 JavaScript 簡介函式JavaScript
- Javascript函式引數求值——Thunk函式JavaScript函式
- javascript cookieJavaScriptCookie
- JavaScript函式宣告和函式表示式區別JavaScript函式
- javascript:建構函式模式(為什麼這種方式也可以建立物件)JavaScript函式模式物件
- Python爬蟲教程-28-Selenium 操縱 ChromePython爬蟲Chrome
- 視訊操縱中的新AI技術轉向AI
- 4. mysql資料庫操縱常用命令MySql資料庫
- Google操縱調查內幕才超越百度?Go
- 函式式JavaScript(2):如何打造“函式式”程式語言?函式JavaScript
- JavaScript 箭頭函式JavaScript函式
- JavaScript裡的函式JavaScript函式
- JavaScript 函式語法JavaScript函式
- javascript函式有哪些JavaScript函式
- JavaScript | 函式與方法JavaScript函式