cookie是什麼 cookie是瀏覽器提供的一種機制,它將document 對象的cookie屬性提供給JavaScript。可以由JavaScript對其進行控制,而並不是JavaScript本身的性質。cookie是存於用戶硬碟的一個文件,這個文件通常對應於一個功能變數名稱,當瀏覽器再次訪問這個功能變數名稱時 ...
cookie是什麼
cookie是瀏覽器提供的一種機制,它將document 對象的cookie屬性提供給JavaScript。可以由JavaScript對其進行控制,而並不是JavaScript本身的性質。cookie是存於用戶硬碟的一個文件,這個文件通常對應於一個功能變數名稱,當瀏覽器再次訪問這個功能變數名稱時,便使這個cookie可用。因此,cookie可以跨越一個功能變數名稱下的多個網頁,但不能跨越多個功能變數名稱使用。
cookie使用場合
(1)保存用戶登錄狀態。例如將用戶id存儲於一個cookie內,這樣當用戶下次訪問該頁面時就不需要重新登錄了,現在很多論壇和社區都提供這樣的功能。 cookie還可以設置過期時間,當超過時間期限後,cookie就會自動消失。因此,系統往往可以提示用戶保持登錄狀態的時間:常見選項有一個月、三個 月、一年等。
(2)跟蹤用戶行為。例如一個天氣預報網站,能夠根據用戶選擇的地區顯示當地的天氣情況。如果每次都需要選擇所在地是煩瑣的,當利用了 cookie後就會顯得很人性化了,系統能夠記住上一次訪問的地區,當下次再打開該頁面時,它就會自動顯示上次用戶所在地區的天氣情況。因為一切都是在後 台完成,所以這樣的頁面就像為某個用戶所定製的一樣,使用起來非常方便。
(3)定製頁面。如果網站提供了換膚或更換佈局的功能,那麼可以使用cookie來記錄用戶的選項,例如:背景色、解析度等。當用戶下次訪問時,仍然可以保存上一次訪問的界面風格。
cookie的用法
js方式:
function setCookie(sName, sValue, oExpires, sPath, sDomain, bSecure) { //js設置cookie var sCookie = sName + '=' + encodeURIComponent(sValue); if (oExpires) { var date = new Date(); date.setTime(date.getTime() + oExpires * 60 * 60 * 1000); sCookie += '; expires=' + date.toUTCString(); } if (sPath) { sCookie += '; path=' + sPath; if (sDomain) { sCookie += '; domain=' + sDomain; } if (bSecure) { sCookie += '; secure'; } document.cookie = sCookie;
}
function getCookie(name){ //獲取cookie var strCookie=document.cookie; var arrCookie=strCookie.split("; "); for(var i=0;i<arrCookie.length;i++){ var arr=arrCookie[i].split("="); if(arr[0]==name){
return decodeURIComponent(arr[1]);
} } return ""; }
function delCookie(name){//刪除cookie // 該函數檢查下cookie是否設置,如果設置了則將過期時間調到過去的時間; //剩下就交給操作系統適當時間清理cookie啦 if (getCookie(name)) { document.cookie = name + "=" + "; expires=Thu, 01-Jan-70 00:00:01 GMT"; } }
jq插件方式:
jq官網http://plugins.jquery.com/搜索cookie插件,幾k的大小,使用非常方便:
<script type="text/javascript" src="js/jquery.js"></script> <script type="text/javascript" src="js/jquery.cookie.js"></script>
在引入以上庫文件後,使用方式如下:
<script> $.cookie('the_cookie'); //讀取Cookie值 $.cookie('the_cookie', 'the_value'); //設置cookie的值 $.cookie('the_cookie', 'the_value', {expires: 7, path: '/', domain: 'jquery.com', secure: true});//新建一個cookie 包括有效期 路徑 功能變數名稱等 $.cookie('the_cookie', 'the_value'); //新建cookie $.cookie('the_cookie', null); //刪除一個cookie </script>