一:操做 數組
1.獲得某個cookie的值 安全
function getCookie(name){ var start = document.cookie.indexOf(name+"="); var len = start+name.length+1; if ((!start) && (name != document.cookie.substring(0,name.length))) return null; if (start == -1) return null; var end = document.cookie.indexOf(";",len); if (end == -1) end = document.cookie.length; return decodeURIComponent(document.cookie.substring(len,end)); }2. 設置cookie的值
1. function setCookie(name,value,expires,path,domain,secure){ 2. var today = new Date(); 3. today.setTime(today.getTime()); 4. if(expires) 5. { 6. expires = expires * 1000 * 60 * 60 *24; 7. } 8. var expires_date = new Date(today.getTime() + (expires)); 9. value = encodeURIComponent(unescape(value)); 10. document.cookie = name+'='+value+ 11. ( ( expires ) ? ';expires='+expires_date.toGMTString() : '' ) + 12. ( ( path ) ? ';path=' + path : '' ) + 13. ( ( domain ) ? ';domain=' + domain : '' ) + 14. ( ( secure ) ? ';secure' : '' ); 15. }
3.刪除cookie的值 cookie
1. function delAllCookie() 2. { 3. tmpArr = document.cookie.split(";"); 4. delKey = new Array(); 5. for(i in tmpArr) 6. { 7. if(tmpArr[i].indexOf("mykeywords") != -1) 8. { 9. delKey.push(decodeURIComponent(tmpArr[i].split("=")[0])); 10. } 11. } 12. today = new Date(); 13. today.setTime(today.getTime() - 10000); 14. for(i in delKey) 15. { 16. name = delKey[i]; 17. document.cookie = name+"='';expires="+today.toGMTString(); 18. } 19. tmpArr = delKey = today = ""; 20. }
因爲JS上沒法直接刪除cookie因此採用過時的方式來刪除cookie上邊的例子是刪除多個的,想單獨刪除某個值的時候參照添加單個 cookie dom
1. //刪除cookie的某個值 2. function delCookie(value) 3. { 4. len = keywords.length; 5. for(i in keywords) 6. { 7. if(keywords[i] == value) 8. { 9. keywords.splice(i,1); 10. } 11. } 12. 13. if(keywords.length == 0) 14. { 15. delAllCookie(); 16. } 17. }
decodeURIComponent 對UTF-8的字符進行解碼 編碼
encodeURIComponent 對字符進行編碼 UTF-8 spa
能夠用來和UTF-8的程序文件進行交互 .net
JS操做cookie的BUG code
當不一樣級目錄設置操做cookie的時候,下級目錄能夠讀取上級目錄,可是不能對上級目錄設置的COOKIE進行直接操做,若是對數組類型的 cookie進行操做時,下級目錄會自動複製上級目錄中的cookie致使cookie會現問題(會出現兩個同樣的cookie),因此在不一樣級目錄中最好不要操做數同一個組類型的cookie ci
二:屬性 get
Domain 屬性:獲取或設置 Cookie 對其有效的 URI。
Expires 屬性:獲取或設置做爲 DateTime 的 Cookie 過時日期和時間。