1. 对比cookie
1 // cookie array 2 3 function getCookieArrayByStr(str) 4 { 5 var cookies = str.split("; "); 6 var cookieObj = {} 7 for (var i=0; i<cookies.length; i++) 8 { 9 var line = cookies[i]; 10 var pos = line.indexOf("="); 11 var key = line.substr(0, pos); 12 var val = line.substr(pos+1); 13 cookieObj[key] = val; 14 } 15 return cookieObj; 16 } 17 18 function getCookieArray() 19 { 20 return getCookieArrayByStr(document.cookie); 21 } 22 23 24 function compareCookie(strOldCookie) 25 { 26 var objOld = getCookieArrayByStr(strOldCookie); 27 var objNew = getCookieArray(); 28 29 var oldOnly = {}; 30 var newOnly = {}; 31 var diff = {}; 32 33 for (var key1 in objOld) 34 { 35 var val1 = objOld[key1]; 36 var val2 = objNew[key1]; 37 if (typeof(val2) == "undefined") 38 { 39 oldOnly[key1] = val1; 40 } 41 else 42 { 43 if (val1 != val2) 44 { 45 diff[key1] = {oldVal: val1, newVal: val2}; 46 } 47 } 48 } 49 50 51 for (var key2 in objNew) 52 { 53 var val1 = objOld[key2]; 54 var val2 = objNew[key2]; 55 if (typeof(val1) == "undefined") 56 { 57 newOnly[key2] = val2; 58 } 59 } 60 61 var retObj = {}; 62 retObj.__OLDO = oldOnly; 63 retObj.__NEWO = newOnly; 64 retObj.__DIFF = diff; 65 66 return retObj; 67 } 68 69 var strOldCookie = "cookieUserId=1386816500920952; cuid=1386816500920605" 70 71 var ret = compareCookie(strOldCookie);