什么是cookie,怎么就叫cookis,它能干嘛
我猜吧,就是登錄頁面的時候傳值,二次登錄的時候可以給你說句'hello xxx';
下面這堆比較啰嗦,隨意看吧
1 //cookie 用戶儲存在用戶本地終端(客戶端/瀏覽器)上的數據 2 //百度百科摘要 3 4 //Cookie 在網絡系統中幾乎無處不在,當我們瀏覽以前訪問過的網站時,網頁中可能會出現 : 5 //你好 XXX,這會讓我們感覺很親切,這其實是通過訪問主機中的一個文件來實現的, 6 //這個文件就是 Cookie 7 8 //Cookie 在計算機中是個存儲在瀏覽器目錄中的文本文件,當瀏覽器運行時,存儲在 RAM 中發揮作用 9 //(此種 Cookies 稱作 Session Cookies),一旦用戶從該網站或服務器退出,Cookie 10 //可存儲在用戶本地的硬盤上 (此種 Cookies 稱作 Persistent Cookies) 。 11 12 //通常情況下,當用戶結束瀏覽器會話時,系統將終止所有的 Cookie。當 Web 服務器創建了Cookies 13 //后,只要在其有效期內,當用戶訪問同一個 Web 服務器時,瀏覽器首先要檢查本地的Cookies, 14 //並將其原樣發送給 Web 服務器。這種狀態信息稱作“Persistent Client State HTTP Cookie” , 15 //簡稱為 Cookies 16 17 //技術簡介 18 19 //目前有些 Cookie 是臨時的,有些則是持續的。臨時的 Cookie 只在瀏覽器上保存一段規定的時間, 20 //一旦超過規定的時間,該 Cookie 就會被系統清除 21 22 //持續的 Cookie 則保存在用戶的 Cookie 文件中,下一次用戶返回時,仍然可以對它進行調用。 23 //在 Cookie 文件中保存 Cookie,有些用戶擔心 Cookie 中的用戶信息被一些別有用心的人竊取, 24 //而造成一定的損害。其實,網站以外的用戶無法跨過網站來獲得 Cookie 信息。如果因為這種擔心而屏蔽 25 //Cookie,肯定會因此拒絕訪問許多站點頁面。因為,當今有許多 Web 站點開發人員使用 Cookie 26 //技術,例如 Session 對象的使用就離不開 Cookie 的支持 27 28 //功能特點 29 //在同一個頁面中設置 Cookie,實際上是按從后往前的順序進行的。如果要先刪除一個 Cookie, 30 //再寫入一個 Cookie,則必須先寫寫入語句,再寫刪除語句,否則會出現錯誤 31 32 //Cookie是面向路徑的。缺省路徑 (path) 屬性時,Web 服務器頁會自動傳遞當前路徑給瀏覽器, 33 //指定路徑強制服務器使用設置的路徑。在一個目錄頁面里設置的 Cookie 在另一個目錄的頁面里是看不到的 34 35 //Cookie 必須在 HTML 文件的內容輸出之前設置;不同的瀏覽器 (Netscape Navigator、Internet Explorer) 36 //對 Cookie 的處理不一致,使用時一定要考慮;客戶端用戶如果設置禁止 Cookie,則 Cookie 37 //不能建立。 並且在客戶端,一個瀏覽器能創建的 Cookie 數量最多為 300 個,並且每個不能超過 4KB, 38 //每個 Web 站點能設置的 Cookie 總數不能超過 20 個 39 40 //有的書上寫能存儲50個???????????未完待續
定義 cookie 值
1 document.cookie = 'abc'; //定義
設置 cookie 多個內容
1 // document.cookie = 1; 2 // document.cookie = 2; 3 // console.log(document.cookie); //這樣只能查看1個
刪除cookie--刪除cookie只能講其時間設置成過去的時間
參考 : https://www.cnblogs.com/sy270321/p/4248961.html
作者 : 阿偉~
1 // var cookie = document.cookie; 2 // var date = new Date(); 3 // date.setTime(date.getTime()-1000); 4 // document.cookie = cookie +"; expires=" + date.toGMTString(); 5 // //GMT_String是以GMT格式表示的時間字符串 6 // if(document.cookie){ 7 // alert(1); 8 // console.log(document.cookie); //單獨輸出會為(空) 9 // } 10 11 12 // 如果要將cookie設置為1天后過期,可以這樣實現: 13 // var date = new Date(); 14 // var expiresDays = 1; //將date設置為10天以后的時間 15 // date.setTime(date.getTime()+expiresDays*24*3600*1000); 16 // //將userId和userName兩個cookie設置為10天后過期 17 // document.cookie="userId=828;userName=abc;expires="+date.toGMTString();
cookie 訪問的路徑,亦可設置可訪問的主機名
1 // 在頁面創建了一個cookie,那么該頁面所在目錄中的其他頁面也可以訪問該cookie,包括子目錄 2 // 例子 : www.a.com/xxx.html 的 cookie 可被www.a.com/xxx123.html & www.b.a.com/xxx.html 訪問 3 // 參考 : https://www.cnblogs.com/sy270321/p/4248961.html 4 // 作者 : 阿偉~ 5 // 6 // //控制cookie可訪問的目錄,需要使用path參數設置cookie 7 // 8 // document.cookie="name=value; path=cookieDir"; 9 // 其中cookieDir表示可訪問cookie的目錄。例如: 10 // 11 // document.cookie="userId=320; path=/shop"; 12 // 就表示當前cookie僅能在shop目錄下使用。 13 // 14 // 如果要使cookie在整個網站下可用,可以將cookie_dir指定為根目錄,例如: 15 // document.cookie="userId=320; path=/"; 16 17 // 指定可訪問cookie的主機名 18 // 例:www.google.com 和 gmail.google.com就是兩個不同的主機名。 19 // 一個主機中創建的cookie在另一個主機下是不能被訪問的,但可以通過domain參數來實現對其的控制, 20 // 21 // document.cookie = "name=value;domain=cookieDomain"; 22 // 以google為例,要實現跨主機訪問,可以寫為: 23 // 24 // document.cookie = "name=value;domain=.google.com"; 25 // 這樣,所有google.com下的主機都可以訪問該cookie。 26 // 27 // //個人感覺有點奇怪,這不就可以在控制台修改domain
將cookie對象到處並轉為json
1 // document.cookie = 1; 2 // document.cookie = 2; 3 // console.log(document.cookie); //這樣只能查看1個 4 // 5 // document.cookie = 'userID = 1'; 6 // document.cookie = 'userName = abc'; 7 // var cookie = document.cookie; 8 // console.log(cookie); //userID=1; userName=abc 9 // console.log(typeof cookie); //string 10 // 11 // function strToJson(str){ 12 // var arr = str.split(';'); 13 // var json = {}; 14 // arr.map(function(val){ 15 // var arr = val.split('='); 16 // json[arr[0]] = arr[1] 17 // }) 18 // return str = json 19 // } 20 // var json = strToJson(cookie); 21 // console.log(json); //{userID: "1", " userName": "abc"} 22 // console.log(typeof json);