锘??xml version="1.0" encoding="utf-8" standalone="yes"?>
[JS]Cookie綺鵑氫箣璺?
www.fh888.com 2006-9-17 16:25:00
鍙戝竷錛欳ary
濯掍綋錛歸ww.JustDN.org 浣滆咃細Jim Park
杞嚜錛?font style="background-color: #dee0fe">http://www.fh888.com/showfile.html?projectid=5&username=cary&articleid=8C17CE3AA29B4479805CB416B9ADF89F
<!鈥擟ookies錛屾湁浜涗漢鍠滄瀹冧滑錛屾湁浜涗漢鎲庢仺瀹冧滑銆備絾鏄紝寰堝皯鏈変漢鐪熸鐭ラ亾濡備綍浣跨敤瀹冧滑銆傜幇鍦ㄤ綘鍙互鎴愪負灝戞暟浜轟腑鐨勬垚鍛橈紞鍙互鑷偛鐨凜ookie 澶у笀銆?->
濡傛灉浣犺薄浣滆呬竴鏍瘋鎬т笉濂斤紝閭d箞浣犲彲鑳芥牴鏈涓嶄綇浜轟滑鐨勫悕瀛椼傛垜閬囧埌浜烘椂錛屽鍗婂彧鏄偣鐐瑰ご錛岄棶鍙?#8220;鍚冧簡鍢涳紒”錛岃屼笖鏈熸湜闂欏埌姝や負姝€傚鏋滆繕闇瑕佽〃紺轟簺浠涔堬紝閭d箞鎴戝氨寰楁眰鍔╀簬涓浜涚嫛鐚劇殑鎶宸э紝濂借鎴戣兘鎯沖鏂規槸璋併傛瘮濡傝儭鎵搗涓浜涘拰瀵規柟鏈夊叧鐨勪漢錛屼笉綆′粬浠箣闂村叧緋誨榪滐紝鍙鑳介伩鍏嶄笉璁板緱瀵規柟鍚嶅瓧鐨勫按灝氨濂斤細 “浣犻殧澹侀偦灞呯殑渚勫瓙鐨勫彲鐖卞皬鐙楄繄鑿叉柉鐗規庝箞鏍鳳紵”閫氳繃榪欎釜鏂規硶錛屾垜甯屾湜鑳借瀵規柟鎰熷埌錛屾垜紜疄寰堥噸瑙嗕粬錛堝ス錛夛紝鐢氳嚦榪樿寰楄繖浜涚悙浜嬶紝铏界劧瀹為檯涓婅繛鍚嶅瓧閮藉繕璁頒簡銆備絾鏄紝涓嶆槸鎴戜笉閲嶈錛岃屾槸鎴戠殑璁板繂鍔涘疄鍦ㄦ槸緋熺硶錛岃屼笖瑕佽浣忕殑鍚嶅瓧鍙堝疄鍦ㄥお澶氥傚鏋滄垜鑳界粰姣忎釜浜鴻緗甤ookies錛岄偅涔堟垜灝變笉浼氬啀鐘繖縐嶈蹇嗗姏闂浜嗐?br />
鍦ㄨ繖綃囨枃绔犻噷錛屾垜浠瀛︿範錛?br />
1. 浠涔堟槸 Cookies?
2. Cookie 鐨勬瀯鎴?br />
3. 鎿嶇旱 Cookies
4. Cookie 鎬吔
浠涔堟槸Cookies?
浣犱細闂紝浠涔堟槸cookies鍛? cookie 鏄祻瑙堝櫒淇濆瓨鍦ㄧ敤鎴瘋綆楁満涓婄殑灝戦噺鏁版嵁銆傚畠涓庣壒瀹氱殑WEB欏墊垨WEB绔欑偣鍏寵仈璧鋒潵錛岃嚜鍔ㄥ湴鍦╓EB嫻忚鍣ㄥ拰WEB鏈嶅姟鍣ㄤ箣闂翠紶閫掋?br />
姣斿錛屽鏋滀綘榪愯鐨勬槸Windows鎿嶄綔緋葷粺錛屼嬌鐢↖nternet Explorer涓婄綉錛岄偅涔堜綘浼氬彂鐜板湪浣犵殑“Windows”鐩綍涓嬮潰鏈変竴涓瓙鐩綍錛屽彨鍋?#8220;Temporary Internet Files”銆傚鏋滀綘鏈夌┖鐪嬬湅榪欎釜鐩綍錛屽氨浼氬彂鐜伴噷闈㈡湁涓浜涙枃浠訛紝鏂囦歡鍚嶇О鐪嬭搗鏉ュ氨璞$數瀛愰偖浠跺湴鍧銆傛瘮濡傚湪鎴戞満鍣ㄤ笂鐨勮繖涓洰褰曢噷錛屽氨鏈?“jim@support.microsoft.com”榪欐牱鐨勬枃浠躲傝繖鏄竴涓猚ookie 鏂囦歡錛岃繖涓枃浠朵粠鍝潵鍛紵鐚滀竴鐚滐紝瀹冩潵鑷井杞殑鏀寔绔欑偣銆傞『渚胯涓鍙ワ紝榪欎笉鏄垜鐨勭數瀛愰偖浠跺湴鍧錛岀壒姝ゆ緞娓呫?br />
瀵逛簬綆$悊緇嗗皬鐨勩佷笉閲嶈鐨勩佷笉鎯充繚瀛樺湪涓ぎ鏁版嵁搴撻噷鐨勭粏鑺備俊鎭紝Cookies 鏄釜寰堜笉閿欑殑鏂規銆傦紙榪欎笉鏄澶у鐨勫悕瀛椾笉閲嶈銆傦級姣斿錛岀洰鍓嶇綉绔欎笂涓嶆柇澧為暱鐨勮嚜瀹氫箟鏈嶅姟錛屽彲浠ヤ負姣忎釜鐢ㄦ埛瀹氬埗浠栦滑瑕佺湅鐨勫唴瀹廣傚鏋滀綘璁捐鐨勫氨鏄繖鏍蜂竴涓珯鐐癸紝閭d箞浣犳庝箞鏉ョ鐞嗚繖鏍風殑淇℃伅錛氫竴涓敤鎴峰枩嬈㈢豢鑹茬殑鑿滃崟鏉★紝鑰屽彟涓涓枩嬈㈢孩鑹茬殑銆傜‘瀹炴槸涓瘡浜虹殑闂銆備笉榪囷紝榪欐牱鐨勪俊鎭紝鍙互寰堝畨鍏ㄥ湴璁板綍鍒癱ookie錛屽茍淇濆瓨鍦ㄧ敤鎴風殑璁$畻鏈轟笂錛岃屼綘鑷繁鐨勬暟鎹簱絀洪棿鍙互鐣欑粰鏇撮暱涔呮洿鏈夋剰涔夌殑鏁版嵁銆?br />
FYI: Cookies 瀵逛簬瀹夊叏鐢ㄩ旓紝閫氬父寰堟湁鐢ㄣ傛垜涓嶆兂鍦ㄦ灝辮繖涓闂榪囦簬娣卞叆錛屽彧鏄彁渚涗竴涓ず渚嬶紝鍙互鐪嬪埌濡備綍浣跨敤鍦ㄤ竴孌墊椂闂翠箣鍚庤繃鏈熺殑cookies鏉ヤ繚璇佺珯鐐瑰畨鍏細
1. 浣跨敤鐢ㄦ埛鍚嶅拰鍙d護錛岄氳繃 SSL 鐧誨綍銆?br />
2. 鍦ㄦ湇鍔″櫒鐨勬暟鎹簱閲屾鏌ョ敤鎴峰悕鍜屽彛浠ゃ傚鏋滅櫥褰曟垚鍔燂紝寤虹珛涓涓綋鍓嶆椂闂存爣絳劇殑娑堟伅鎽樿 (姣斿 MD5) 錛屽茍鎶婂畠淇濆瓨鍦╟ookie鍜屾湇鍔″櫒鏁版嵁搴撻噷銆傛妸鐢ㄦ埛鐨勭櫥褰曟椂闂翠繚瀛樺湪鏈嶅姟鍣ㄦ暟鎹簱閲岄潰鐨勭敤鎴瘋褰曢噷銆?br />
3. 鍦ㄨ繘琛屾瘡涓畨鍏ㄤ簨鍔℃椂錛堢敤鎴峰浜庣櫥褰曠姸鎬佺殑浠諱綍浜嬪姟錛夛紝鎶奵ookie鐨勬秷鎭憳瑕佸拰淇濆瓨鍦ㄦ湇鍔″櫒鏁版嵁搴撻噷鐨勬憳瑕佽繘琛屾瘮杈冿紝濡傛灉姣旇緝澶辮觸錛屽氨鎶婄敤鎴峰紩瀵煎埌鐧誨綍鐣岄潰銆?br />
4. 濡傛灉絎?姝ユ鏌ラ氳繃錛岄偅涔堟鏌ュ綋鍓嶆椂闂村拰鐧誨綍鏃墮棿涔嬮煶緇忚繃鐨勬椂闂存槸鍚﹁秴榪囧厑璁哥殑鏃墮棿闀垮害銆傚鏋滅敤鎴峰凡緇忚秴鏃訛紝閭d箞灝辨妸鐢ㄦ埛寮曞埌鐧誨綍鐣岄潰銆?br />
5. 濡傛灉絎?姝ュ拰絎?姝ラ兘閫氳繃浜嗭紝閭d箞鎶婄櫥褰曟椂闂撮噸鏂拌緗垚褰撳墠鏃墮棿錛屽厑璁鎬簨鍔″彂鐢熴傞偅浜涢渶瑕佷綘鐧誨綍鐨勫畨鍏ㄧ珯鐐癸紝鍙兘澶氭暟浣跨敤鐨勯兘鏄拰榪欓噷浠嬬粛鐨勭被浼肩殑鏂規硶銆?br />
Cookie鐨勬瀯鎴?br />
Cookies鏈鍒濊璁℃椂錛屾槸涓轟簡CGI緙栫▼銆備絾鏄紝鎴戜滑涔熷彲浠ヤ嬌鐢↗avascript鑴氭湰鏉ユ搷綰礳ookies銆傚湪鏈枃閲岋紝鎴戜滑灝嗘紨紺哄浣曚嬌鐢↗avascript鑴氭湰鏉ユ搷綰礳ookies銆?濡傛灉鏈夐渶姹傦紝鎴戝彲鑳戒細鍦ㄤ互鍚庣殑鏂囩珷閲屼粙緇嶅浣曚嬌鐢≒erl榪涜cookie綆$悊銆備絾鏄鏋滃疄鍦ㄧ瓑涓嶅緱錛岄偅涔堟垜鐜板湪灝辨暀浣犱竴鎵嬶細浠旂粏鐪嬬湅CGI.pm銆傚湪榪欎釜CGI鍖呴噷鏈変竴涓猚ookie()鍑芥暟錛屽彲浠ョ敤瀹冨緩绔媍ookie銆備絾鏄紝榪樻槸璁╂垜浠厛鏉ヤ粙緇峜ookies鐨勬湰璐ㄣ?br />
鍦↗avascript鑴氭湰閲岋紝涓涓猚ookie 瀹為檯灝辨槸涓涓瓧絎︿覆灞炴с傚綋浣犺鍙朿ookie鐨勫兼椂錛屽氨寰楀埌涓涓瓧絎︿覆錛岄噷闈㈠綋鍓峎EB欏典嬌鐢ㄧ殑鎵鏈塩ookies鐨勫悕縐板拰鍊箋傛瘡涓猚ookie闄や簡name鍚嶇О鍜寁alue鍊艱繖涓や釜灞炴т互澶栵紝榪樻湁鍥涗釜灞炴с傝繖浜涘睘鎬ф槸錛?expires榪囨湡鏃墮棿銆?path璺緞銆?domain鍩熴佷互鍙?secure瀹夊叏銆?br />
Expires – 榪囨湡鏃墮棿銆傛寚瀹歝ookie鐨勭敓鍛芥湡銆傚叿浣撴槸鍊兼槸榪囨湡鏃ユ湡銆傚鏋滄兂璁ヽookie鐨勫瓨鍦ㄦ湡闄愯秴榪囧綋鍓嶆祻瑙堝櫒浼氳瘽鏃墮棿錛屽氨蹇呴』浣跨敤榪欎釜灞炴с傚綋榪囦簡鍒版湡鏃ユ湡鏃訛紝嫻忚鍣ㄥ氨鍙互鍒犻櫎cookie鏂囦歡錛屾病鏈変換浣曞獎鍝嶃?br />
Path – 璺緞銆傛寚瀹氫笌cookie鍏寵仈鐨刉EB欏點傚煎彲浠ユ槸涓涓洰褰曪紝鎴栬呮槸涓涓礬寰勩傚鏋渉ttp://www.zdnet.com/devhead/index.html 寤虹珛浜嗕竴涓猚ookie錛岄偅涔堝湪http://www.zdnet.com/devhead/鐩綍閲岀殑鎵鏈夐〉闈紝浠ュ強璇ョ洰褰曚笅闈換浣曞瓙鐩綍閲岀殑欏甸潰閮藉彲浠ヨ闂繖涓猚ookie銆傝繖灝辨槸璇達紝鍦╤ttp://www.zdnet.com/devhead/stories/articles 閲岀殑浠諱綍欏甸潰閮藉彲浠ヨ闂甴ttp://www.zdnet.com/devhead/index.html寤虹珛鐨刢ookie銆備絾鏄紝濡傛灉http://www.zdnet.com/zdnn/ 闇瑕佽闂甴ttp://www.zdnet.com/devhead/index.html璁劇疆鐨刢ookes錛岃鎬庝箞鍔烇紵榪欐椂錛屾垜浠鎶奵ookies 鐨刾ath灞炴ц緗垚“/”銆傚湪鎸囧畾璺緞鐨勬椂鍊欙紝鍑℃槸鏉ヨ嚜鍚屼竴鏈嶅姟鍣紝URL閲屾湁鐩稿悓璺緞鐨勬墍鏈塛EB欏甸潰閮藉彲浠ュ叡浜玞ookies銆傜幇鍦ㄧ湅鍙︿竴涓緥瀛愶細濡傛灉鎯寵 http://www.zdnet.com/devhead/filters/ 鍜宧ttp://www.zdnet.com/devhead/stories/鍏變韓cookies錛屽氨瑕佹妸path璁炬垚“/devhead”銆?br />
Domain – 鍩熴傛寚瀹氬叧鑱旂殑WEB鏈嶅姟鍣ㄦ垨鍩熴傚兼槸鍩熷悕錛屾瘮濡倆dnet.com銆傝繖鏄path璺緞灞炴х殑涓涓歡浼搞傚鏋滄垜浠兂璁?catalog.mycompany.com 鑳藉璁塊棶shoppingcart.mycompany.com璁劇疆鐨刢ookies錛岃鎬庝箞鍔? 鎴戜滑鍙互鎶奷omain灞炴ц緗垚“mycompany.com”錛屽茍鎶妏ath灞炴ц緗垚“/”銆侳YI錛氫笉鑳芥妸cookies鍩熷睘鎬ц緗垚涓庤緗畠鐨勬湇鍔″櫒鐨勬墍鍦ㄥ煙涓嶅悓鐨勫箋?br />
Secure – 瀹夊叏銆傛寚瀹歝ookie鐨勫奸氳繃緗戠粶濡備綍鍦ㄧ敤鎴峰拰WEB鏈嶅姟鍣ㄤ箣闂翠紶閫掋傝繖涓睘鎬х殑鍊兼垨鑰呮槸“secure”錛屾垨鑰呬負絀恒傜己鐪佹儏鍐典笅錛岃灞炴т負絀猴紝涔熷氨鏄嬌鐢ㄤ笉瀹夊叏鐨凥TTP榪炴帴浼犻掓暟鎹傚鏋滀竴涓?cookie 鏍囪涓簊ecure錛岄偅涔堬紝瀹冧笌WEB鏈嶅姟鍣ㄤ箣闂村氨閫氳繃HTTPS鎴栬呭叾瀹冨畨鍏ㄥ崗璁紶閫掓暟鎹備笉榪囷紝璁劇疆浜唖ecure灞炴т笉浠h〃鍏朵粬浜轟笉鑳界湅鍒頒綘鏈哄櫒鏈湴淇濆瓨鐨刢ookie銆傛崲鍙ヨ瘽璇達紝鎶奵ookie璁劇疆涓簊ecure錛屽彧淇濊瘉cookie涓嶹EB鏈嶅姟鍣ㄤ箣闂寸殑鏁版嵁浼犺緭榪囩▼鍔犲瘑錛岃屼繚瀛樺湪鏈湴鐨刢ookie鏂囦歡騫朵笉鍔犲瘑銆傚鏋滄兂璁╂湰鍦癱ookie涔熷姞瀵嗭紝寰楄嚜宸卞姞瀵嗘暟鎹?br />
鎿嶇旱Cookies
璇瘋浣忥紝cookie灝辨槸鏂囨。鐨勪竴涓瓧絎︿覆灞炴с傝淇濆瓨cookie錛屽彧瑕佸緩绔嬩竴涓瓧絎︿覆錛屾牸寮忔槸name=<value>錛堝悕縐幫紳鍊鹼級錛岀劧鍚庢妸鏂囨。鐨?document.cookie 璁劇疆鎴愪笌瀹冪浉絳夊嵆鍙傛瘮濡傦紝鍋囪鎯充繚瀛樿〃鍗曟帴鏀跺埌鐨勭敤鎴峰悕錛岄偅涔堜唬鐮佺湅璧鋒潵灝辮薄榪欐牱錛?br />
document.cookie = "username" + escape(form.username.value);
鍦ㄨ繖閲岋紝浣跨敤 escape() 鍑芥暟闈炲父閲嶈錛屽洜涓篶ookie鍊奸噷鍙兘鍖呭惈鍒嗗彿銆侀楀彿鎴栬呯┖鏍箋傝繖灝辨槸璇達紝鍦ㄨ鍙朿ookie鍊兼椂錛屽繀欏諱嬌鐢ㄥ搴旂殑unescape()鍑芥暟緇欏艱В鐮併?br />
鎴戜滑褰撶劧榪樺緱浠嬬粛cookie鐨勫洓涓睘鎬с傝繖浜涘睘鎬х敤涓嬮潰鐨勬牸寮忓姞鍒板瓧絎︿覆鍊煎悗闈細
name=<value>[; expires=<date>][; domain=<domain>][; path=<path>][; secure]
鍚嶇О=<鍊?gt;[; expires=<鏃ユ湡>][; domain=<鍩?gt;][; path=<璺緞>][; 瀹夊叏]
<value>, <date>, <domain> 鍜?<path> 搴斿綋鐢ㄥ搴旂殑鍊兼浛鎹€?lt;date> 搴斿綋浣跨敤GMT鏍煎紡錛屽彲浠ヤ嬌鐢↗avascript鑴氭湰璇█鐨勬棩鏈熺被Date鐨?toGMTString() 鏂規硶寰楀埌榪欎竴GMT鏍煎紡鐨勬棩鏈熷箋傛柟鎷彿浠h〃榪欓」鏄彲閫夌殑銆傛瘮濡傚湪 [; secure]涓よ竟鐨勬柟鎷彿浠h〃瑕佹兂鎶奵ookie璁劇疆鎴愬畨鍏ㄧ殑錛屽氨闇瑕佹妸"; secure" 鍔犲埌cookie瀛楃涓插肩殑鍚庨潰銆傚鏋?; secure" 娌℃湁鍔犲埌cookie瀛楃涓插悗闈紝閭d箞榪欎釜cookie灝辨槸涓嶅畨鍏ㄧ殑銆備笉瑕佹妸灝栨嫭鍙?lt;> 鍜屾柟鎷彿[] 鍔犲埌cookie閲岋紙闄ら潪瀹冧滑鏄煇浜涘肩殑鍐呭錛夈傝緗睘鎬ф椂錛屼笉闄愬睘鎬э紝鍙互鐢ㄤ換浣曢『搴忚緗?br />
涓嬮潰鏄竴涓緥瀛愶紝鍦ㄨ繖涓緥瀛愰噷錛宑ookie "username" 琚緗垚鍦?5鍒嗛挓涔嬪悗榪囨湡錛屽彲浠ヨ鏈嶅姟鍣ㄤ笂鐨勬墍鏈夌洰褰曡闂紝鍙互琚?mydomain.com"鍩熼噷鐨勬墍鏈夋湇鍔″櫒璁塊棶錛屽畨鍏ㄧ姸鎬佷負瀹夊叏銆?br />
// Date() 鐨勬瀯閫犲櫒璁劇疆浠ユ縐掍負鍗曚綅
// .getTime() 鏂規硶榪斿洖鏃墮棿錛屽崟浣嶄負姣
// 鎵浠ヨ璁劇疆15鍒嗛挓鍒版湡錛岃鐢?0000姣涔?5鍒嗛挓
var expiration = new Date((new Date()).getTime() + 15 * 60000);
document.cookie = "username=" + escape(form.username.value)+ "; expires ="
+ expiration.toGMTString() + "; path=" + "/" + "; _
domain=" + "mydomain.com" + "; secure";
璇誨彇cookies鍊兼湁鐐硅薄涓皬鎶婃垙錛屽洜涓轟綘涓嬈″氨寰楀埌浜嗗睘浜庡綋鍓嶆枃妗g殑鎵鏈塩ookies銆?br />
// 涓嬮潰榪欎釜璇彞璇誨彇浜嗗睘浜庡綋鍓嶆枃妗g殑鎵鏈塩ookies
var allcookies = document.cookie;
鐜板湪錛屾垜浠緱瑙f瀽allcookies鍙橀噺閲岀殑涓嶅悓cookies錛屾壘鍒版劅鍏磋叮鐨勬寚瀹歝ookie銆傝繖涓伐浣滃緢綆鍗曪紝鍥犱負鎴戜滑鍙互鍒╃敤Javascript璇█鎻愪緵鐨勬墿灞曞瓧絎︿覆鏀寔銆?br />
濡傛灉鎴戜滑瀵瑰墠闈㈠垎閰嶇殑cookie "username" 鎰熷叴瓚o紝鍙互鐢ㄤ笅闈㈢殑鑴氭湰鏉ヨ鍙栧畠鐨勫箋?br />
// 鎴戜滑瀹氫箟涓涓嚱鏁幫紝鐢ㄦ潵璇誨彇鐗瑰畾鐨刢ookie鍊箋?br />
function getCookie(cookie_name)
锝?br />
var allcookies = document.cookie;
var cookie_pos = allcookies.indexOf(cookie_name);
// 濡傛灉鎵懼埌浜嗙儲寮曪紝灝變唬琛╟ookie瀛樺湪錛?br />
// 鍙嶄箣錛屽氨璇存槑涓嶅瓨鍦ㄣ?br />
if (cookie_pos != -1)
锝?br />
// 鎶奵ookie_pos鏀懼湪鍊肩殑寮濮嬶紝鍙緇欏煎姞1鍗沖彲銆?br />
cookie_pos += cookie_name.length + 1;
var cookie_end = allcookies.indexOf(";", cookie_pos);
if (cookie_end == -1)
锝?br />
cookie_end = allcookies.length;
锝?br />
var value = unescape(allcookies.substring(cookie_pos, cookie_end));
锝?br />
return value;
锝?br />
// 璋冪敤鍑芥暟
var cookie_val = getCookie("username");
涓婇潰渚嬬▼閲岀殑 cookie_val 鍙橀噺鍙互鐢ㄦ潵鐢熸垚鍔ㄦ佸唴瀹癸紝鎴栬呭彂閫佺粰鏈嶅姟鍣ㄧCGI鑴氭湰榪涜澶勭悊銆傜幇鍦ㄤ綘鐭ラ亾浜嗕嬌鐢↗avascript鑴氭湰鎿嶇旱cookies鐨勫熀鏈柟娉曘備絾鏄紝濡傛灉浣犺窡鎴戜竴鏍鳳紝閭d箞鎴戜滑瑕佸仛鐨勭涓浠朵簨錛屽氨鏄緩绔嬩竴浜涙帴鍙e嚱鏁幫紝鎶奵ookies澶勭悊涓婄殑楹葷儲闅愯棌璧鋒潵銆備笉榪囷紝鍦ㄤ綘寮濮嬬紪紼嬩箣鍓嶏紝紼嶅欑墖鍒匯傝繖浜涘伐浣滐紝鏃╁氨鏈変漢鏇夸綘鍋氬ソ浜嗐備綘瑕佸仛鐨勶紝鍙槸鍒板摢鍘繪壘榪欎簺鎺ュ彛鍑芥暟鑰屽凡銆?br />
姣斿錛屽湪David Flangan鐨凧avascript: The Definitive Guide 3rd Ed.榪欐湰涔﹂噷錛屽彲浠ユ壘鍒板緢濂界殑cookie搴旂敤綾匯備綘涔熷彲浠ュ湪Oreilly鐨刉EB绔欑偣涓婃壘鍒拌繖鏈功閲岀殑渚嬪瓙銆傛湰鏂囨渶鍚庣殑閾炬帴鍒楄〃閲岋紝鏈変竴浜涜闂繖浜沜ookie紺轟緥鐨勭洿鎺ラ摼鎺ャ?br />
Cookies 鎬吔
鍥犱負鏌愪簺鍘熷洜Cookies 鐨勫悕澹板緢涓嶅ソ銆傝澶氫漢鍒╃敤cookies鍋氫竴浜涘崙閯欑殑浜嬫儏錛屾瘮濡傛祦閲忓垎鏋愩佺偣鍑昏窡韙侰ookies 涔熶笉鏄潪甯稿畨鍏紝鐗瑰埆鏄病鏈塻ecure灞炴х殑cookies銆備笉榪囷紝鍗充嬌浣犵敤浜嗗畨鍏ㄧ殑cookies錛屽鏋滀綘鍜屽埆浜哄叡鐢ㄨ綆楁満錛屾瘮濡傚湪緗戝惂錛岄偅涔堝埆浜哄氨鍙互紿ユ帰璁$畻鏈虹‖鐩樹笂鏈姞瀵嗕繚瀛樼殑cookie鏂囦歡錛屼篃灝辨湁鍙兘紿冨彇浣犵殑鏁忔劅淇℃伅銆傛墍浠ワ紝濡傛灉浣犳槸涓涓猈EB寮鍙戜漢鍛橈紝閭d箞浣犺璁ょ湡鑰冭檻榪欎簺闂銆備笉瑕佹互鐢╟ookies銆備笉瑕佹妸鐢ㄦ埛鍙兘璁や負鏄晱鎰熺殑鏁版嵁淇濆瓨鍦╟ookies閲屻傚鏋滄妸鐢ㄦ埛鐨勭ぞ浼氫繚闄╁彿銆佷俊鐢ㄥ崱鍙風瓑淇濆瓨鍦╟ookie閲岋紝絳変簬鎶婅繖浜涙晱鎰熶俊鎭斁鍦ㄧ獥鎴風焊涓嬶紝鏃犲紓浜庢妸鐢ㄦ埛鎶曞埌鏋佸ぇ鍗遍櫓涔嬩腑銆備竴涓ソ鐨勫師鍒欐槸錛屽鏋滀綘涓嶆兂闄岀敓浜轟簡瑙d綘鐨勮繖浜涗俊鎭紝閭e氨涓嶈鎶婂畠浠繚瀛樺湪cookies閲屻?br />
鍙﹀錛宑ookies榪樻湁涓浜涘疄闄呯殑闄愬埗銆侰ookies淇濈暀鍦ㄨ綆楁満涓婏紝涓嶈窡鐫鐢ㄦ埛璧般傚鏋滅敤鎴鋒兂鎹㈣綆楁満錛岄偅涔堟柊璁$畻鏈烘棤娉曞緱鍒板師鏉ョ殑cookie銆傜敋鑷崇敤鎴峰湪鍚屼竴鍙拌綆楁満涓婁嬌鐢ㄤ笉鍚屾祻瑙堝櫒錛屼篃寰椾笉鍒板師鏉ョ殑cookie錛歂etscape 涓嶈兘璇誨彇Internet Explorer 鐨刢ookies銆?br />
榪樻湁錛岀敤鎴蜂篃涓嶆効鎰忔帴鍙梒ookies銆傛墍浠ヤ笉瑕佷互涓烘墍鏈夌殑嫻忚鍣ㄩ兘鑳芥帴鍙椾綘鍙戝嚭鐨刢ookies銆傚鏋滄祻瑙堝櫒涓嶆帴鍙梒ookies錛屼綘瑕佷繚璇佽嚜宸辯殑WEB绔欑偣涓嶈嚧鍥犳鑰屽穿婧冩垨涓柇銆?br />
鍙﹀WEB 嫻忚鍣ㄨ兘淇濈暀鐨刢ookies涓嶄竴瀹氳兘瓚呰繃300涓備篃娌℃湁鏍囧噯瑙勫畾嫻忚鍣ㄤ粈涔堟椂鍊欍佹庝箞鏍蜂綔搴焎ookies銆傛墍浠ヨ揪鍒伴檺鍒舵椂錛屾祻瑙堝櫒鑳藉鏈夋晥鍦伴殢鏈哄垹闄ookies銆傛祻瑙堝櫒淇濈暀鐨勬潵鑷竴涓猈EB鏈嶅姟鍣ㄤ笂鐨刢ookies錛屼笉瓚呰繃20涓紝姣忎釜cookie鐨勬暟鎹紙鍖呮嫭鍚嶇О鍜屽鹼級錛屼笉瓚呰繃4K瀛楄妭銆?涓嶈繃錛屾湰鏂囬噷鐨刢ookie灝哄娌¢棶棰橈紝瀹冨彧鍗犱簡12 K瀛楄妭錛屼繚瀛樺湪3涓? cookies閲屻?
綆鑰岃█涔嬶紝娉ㄦ剰淇濇寔cookie綆鍗曘備笉瑕佷緷璧朿ookies鐨勫瓨鍦紝涓嶈鍦ㄦ瘡涓猚ookie閲屼繚瀛樺お澶氫俊鎭備笉瑕佷繚瀛樺お澶氱殑cookes銆備絾鏄紝鎶涢櫎榪欎簺闄愬埗錛屽湪鎶宸ч珮瓚呯殑WEB綆$悊鍛樻墜閲岋紝cookie鐨勬蹇墊槸涓涓湁鐢ㄧ殑宸ュ叿銆?br />
澶栭儴閾炬帴
姣忎釜 Javascript 紼嬪簭鍛橀兘搴斿綋鏈変竴浠絁avascript錛?David Flanagan 鐨凾he Definitive Guide銆?榪欐湰涔﹂噷鎵懼埌cookie 綾諱緥紼嬪彲浠ュ府鍔╀綘鎶婁笉姝竴涓彉閲忕紪鐮佸埌鍗曚竴鐨刢ookie錛屽厠鏈嶆帀“姣忎釜WEB鏈嶅姟鍣?0 涓猚ookies鐨勯檺鍒?#8221;銆傝鐐瑰嚮榪欎釜閾炬帴涓嬭澆璇ヤ緥紼嬶紝ftp://ftp.oreilly.com/pub/examples/nutshell/javascript/銆?br />
]]>
鍙︿竴綃囨枃绔犱粙緇嶇殑涓縐嶆柟娉曪細
var shrinkfactor=5
// left and top position of the thumbnailimage
// (distance to the left and top browser-margin, pixels)
var thumbleft = 30
var thumbtop = 30
// left and top position of the zoomed image
// (distance to the left and top browser-margin, pixels)
var largeleft = 300
var largetop = 30
// width and height of the enlarged image's sector (visible part, pixels)
var clipwidth = 240
var clipheight = 160
</SCRIPT>
<SCRIPT>
var isNav, isIE
var offsetX, offsetY
var selectedObj
var largewidth = 0
var largeheight = 0
var thumbwidth = Math.floor(largewidth/shrinkfactor)
var thumbheight = Math.floor(largeheight/shrinkfactor)
var dragimgwidth = Math.floor(clipwidth/shrinkfactor)
var dragimgheight = Math.floor(clipheight/shrinkfactor)
var dragimgleft = thumbleft+3
var dragimgtop = thumbtop+3
var difleft= largeleft-thumbleft
var diftop= largetop-thumbtop
var clippoints
var cliptop=0
var clipbottom=cliptop+clipheight
var clipleft=0
var clipright=clipleft+clipwidth
if (parseInt(navigator.appVersion) >= 4) {
if (navigator.appName == "Netscape") {
isNav = true
} else {
isIE = true
}
}
function setZIndex(obj, zOrder) {
obj.zIndex = zOrder
}
function shiftTo(obj, x, y) {
if (isNav) {
if(x<=document.thumb.left) {x=document.thumb.left}
if(x>=(document.thumb.left+thumbwidth-dragimgwidth-2)) {x=document.thumb.left+thumbwidth-dragimgwidth-2}
if(y<=document.thumb.top) {y=document.thumb.top}
if(y>=(document.thumb.top+thumbheight-dragimgheight-2)) {y=document.thumb.top+thumbheight-dragimgheight-2}
obj.moveTo(x,y)
} else {
if(x<=document.all.thumb.style.posLeft) {x=document.all.thumb.style.posLeft}
if(x>=(document.all.thumb.style.posLeft+thumbwidth-dragimgwidth-2)) {x=document.all.thumb.style.posLeft+thumbwidth-dragimgwidth-2}
if(y<=document.all.thumb.style.posTop) {y=document.all.thumb.style.posTop}
if(y>=(document.all.thumb.style.posTop+thumbheight-dragimgheight-2)) {y=document.all.thumb.style.posTop+thumbheight-dragimgheight-2}
obj.pixelLeft = x
obj.pixelTop = y
}
cliptop = (y-thumbtop)*shrinkfactor
clipbottom = cliptop+clipheight
clipleft = (x-thumbleft)*shrinkfactor
clipright = clipleft+clipwidth
if (document.all) {
clippoints ="rect("+cliptop+" "+clipright+" "+clipbottom+" "+clipleft+")"
document.all.large.style.posTop=largetop-cliptop
document.all.large.style.posLeft=largeleft-clipleft
document.all.large.style.clip=clippoints
}
if (document.layers) {
document.large.top=largetop-cliptop
document.large.left=largeleft-clipleft
document.large.clip.left = clipleft
document.large.clip.right = clipright
document.large.clip.top = cliptop
document.large.clip.bottom = clipbottom
}
}
function setSelectedElem(evt) {
if (isNav) {
var testObj
var clickX = evt.pageX
var clickY = evt.pageY
for (var i = document.layers.length - 1; i >= 0; i--) {
testObj = document.layers[i]
if ((clickX > testObj.left) &&
(clickX < testObj.left + testObj.clip.width) &&
(clickY > testObj.top) &&
(clickY < testObj.top + testObj.clip.height && document.layers[i].id=="dragimg")) {
selectedObj = testObj
setZIndex(selectedObj, 100)
return
}
}
} else {
var imgObj = window.event.srcElement
if (imgObj.parentElement.id.indexOf("dragimg") != -1) {
selectedObj = imgObj.parentElement.style
setZIndex(selectedObj,100)
return
}
}
selectedObj = null
return
}
function dragIt(evt) {
if (selectedObj) {
if (isNav) {
shiftTo(selectedObj, (evt.pageX - offsetX), (evt.pageY - offsetY))
} else {
shiftTo(selectedObj, (window.event.clientX - offsetX), (window.event.clientY - offsetY))
return false
}
}
}
function engage(evt) {
setSelectedElem(evt)
if (selectedObj) {
if (isNav) {
offsetX = evt.pageX - selectedObj.left
offsetY = evt.pageY - selectedObj.top
} else {
offsetX = window.event.offsetX
offsetY = window.event.offsetY
}
}
return false
}
function release(evt) {
if (selectedObj) {
setZIndex(selectedObj, 0)
selectedObj = null
}
}
function setNavEventCapture() {
if (isNav) {
document.captureEvents(Event.MOUSEDOWN | Event.MOUSEMOVE | Event.MOUSEUP)
}
}
function init() {
if (document.layers) {
var imageurl=document.large.document.largepic.src
largewidth=document.large.document.width
largeheight=document.large.document.height
thumbwidth = Math.floor(largewidth/shrinkfactor)
thumbheight = Math.floor(largeheight/shrinkfactor)
document.thumb.document.write("<IMG NAME='thumbpic' SRC='"+imageurl+"' width="+thumbwidth+" height="+thumbheight+">")
document.thumb.document.close()
document.dragimg.document.write("<IMG NAME='dragimgpic' border=2 SRC='dragimg.gif' width="+dragimgwidth+" height="+dragimgheight+">")
document.dragimg.document.close()
document.large.left=largeleft
document.large.top=largetop
document.thumb.left=thumbleft
document.thumb.top=thumbtop
document.dragimg.left=dragimgleft
document.dragimg.top=dragimgtop
document.large.clip.left=clipleft
document.large.clip.right=clipright
document.large.clip.top=cliptop
document.large.clip.bottom=clipbottom
document.large.visibility="visible"
setNavEventCapture()
}
if (document.all) {
var imageurl=document.largepic.src
largewidth=document.all.large.offsetWidth
largeheight=document.all.large.offsetHeight
thumbwidth = Math.floor(largewidth/shrinkfactor)
thumbheight = Math.floor(largeheight/shrinkfactor)
thumb.innerHTML="<IMG NAME='thumbpic' SRC='"+imageurl+"' width="+thumbwidth+" height="+thumbheight+">"
dragimg.innerHTML="<IMG NAME='dragimgpic' border=2 SRC='http://www.jscode.cn/Uploadfile/200651515151450.GIF' width="+dragimgwidth+" height="+dragimgheight+">"
document.all.large.style.posLeft=largeleft
document.all.large.style.posTop=largetop
document.all.thumb.style.posLeft=thumbleft
document.all.thumb.style.posTop=thumbtop
document.all.dragimg.style.posLeft=dragimgleft
document.all.dragimg.style.posTop=dragimgtop
clippoints ="rect("+cliptop+" "+clipright+" "+clipbottom+" "+clipleft+")"
document.all.large.style.clip=clippoints
document.all.large.style.visibility="visible"
}
document.onmousedown = engage
document.onmousemove = dragIt
document.onmouseup = release
}
window.onload=init
</SCRIPT></head>
<body>
<p>鐢ㄩ紶鏍囩Щ鍔ㄤ笅闈㈢殑鏂規錛屾晥鏋滀笉閿欏惂</p>
<center>
<DIV style="position:absolute;visibility:hidden;" ID="large"><IMG NAME="largepic" SRC="http://www.jscode.cn/Uploadfile/2006515151036789.JPG"></DIV>
<DIV style="position:absolute;" ID="thumb"></DIV>
<DIV style="position:absolute;" ID="dragimg"></DIV></center>
</body>
</html>