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> $.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>
以上這篇關於cookie的初識和運用(js和jq)就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。