成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

JS跨域設置和取Cookie

開發 前端
cookie 是存儲于訪問者的計算機中的變量。每當同一臺計算機通過瀏覽器請求某個頁面時,就會發送這個 cookie。你可以使用 JavaScript 來創建和取回 cookie 的值。本文主要JS怎樣讀取Cookie以及域的設置。

Javascript腳本里,一個cookie 實際就是一個字符串屬性。當你讀取cookie的值時,就得到一個字符串,里面當前WEB頁使用的所有cookies的名稱和值。每個cookie除了 name名稱和value值這兩個屬性以外,還有四個屬性。這些屬性是: expires過期時間、 path路徑、 domain域、以及 secure安全。

Expires – 過期時間。指定cookie的生命期。具體是值是過期日期。如果想讓cookie的存在期限超過當前瀏覽器會話時間,就必須使用這個屬性。當過了到期日期時,瀏覽器就可以刪除cookie文件,沒有任何影響。

Path – 路徑。指定與cookie關聯的WEB頁。值可以是一個目錄,或者是一個路徑。如http://www.zdnet.com/devhead /index.html 建立了一個cookie,那么在http://www.zdnet.com/devhead/目錄里的所有頁面,以及該目錄下面任何子目錄里的頁面都可以 訪問這個cookie。這就是說,在http://www.zdnet.com/devhead/stories/articles 里的任何頁面都可以訪問http://www.zdnet.com/devhead/index.html建立的cookie。但是,如果http: //www.zdnet.com/zdnn/ 需要訪問http://www.zdnet.com/devhead/index.html設置的cookes,該怎么辦?這時,我們要把cookies 的path屬性設置成“/”。

在指定路徑的時候,凡是來自同一服務器,URL里有相同路徑的所有WEB頁面都可以共享cookies。現在看另一個例子: 如果想讓 http://www.zdnet.com/devhead/filters/ 和http://www.zdnet.com/devhead/stories/共享cookies,就要把path設成“/devhead”。

Domain – 域。指定關聯的WEB服務器或域。值是域名,比如zdnet.com。這是對path路徑屬性的一個延伸。如果我們想讓 catalog.mycompany.com 能夠訪問shoppingcart.mycompany.com設置的cookies,該怎么辦? 我們可以把domain屬性設置成“mycompany.com”,并把path屬性設置成“/”。不能把cookies域屬性設置成與設置它的服務器的 所在域不同的值。

Secure – 安全。指定cookie的值通過網絡如何在用戶和WEB服務器之間傳遞。這個屬性的值或者是“secure”,或者為空。缺省情況下,該屬性為空,也就是 使用不安全的HTTP連接傳遞數據。如果一個 cookie 標記為secure,那么,它與WEB服務器之間就通過HTTPS或者其它安全協議傳遞數據。不過,設置了secure屬性不代表其他人不能看到你機器本 地保存的cookie。換句話說,把cookie設置為secure,只保證cookie與WEB服務器之間的數據傳輸過程加密,而保存在本地的 cookie文件并不加密。如果想讓本地cookie也加密,得自己加密數據。

例:a.b.com和c.b.com兩個站,建立方式如下:

a.b.com站下建a.html。關鍵代碼如下:

 

  1. <script type="text/javascript">  
  2. function setCookie(c_name,value,expiredays) {  
  3. var exdate=new Date();  
  4. exdate.setDate(exdate.getDate()+expiredays);  
  5. alert(exdate.getDate()+expiredays);  
  6. document.cookie=c_name+ "=" +escape(value)+((expiredays==null) ? "" : ";expires="+exdate.toGMTString())+";path=/;domain=b.com";  
  7. }  
  8. window.onload=function(){  
  9. setCookie("listallwjh","sfwjh");  
  10. alert("Cookie設置成功!");  
  11. }  
  12. </script> 

 

c.b.com站下建a.html。關鍵代碼如下

 

  1. <script>  
  2. function getCookie(c_name) {  
  3. if (document.cookie.length>0)  
  4. {  
  5. c_start=document.cookie.indexOf(c_name + "=");  
  6. if (c_start!=-1)  
  7. {   
  8. c_start=c_start + c_name.length+1 ;  
  9. c_end=document.cookie.indexOf(";",c_start);  
  10. if (c_end==-1) c_end=document.cookie.length;  
  11. return unescape(document.cookie.substring(c_start,c_end));  
  12. }   
  13. }  
  14. return "";  
  15. }  
  16. window.onload=function(){  
  17. var c_name="listallwjh";  
  18. if(getCookie("listallwjh")!=null){  
  19. alert(getCookie("listallwjh"));  
  20. }  
  21. }  
  22. </script> 

 

這兩個一個也面是設置,一個是取,只要保證兩個規則一樣,就行。運行,結果:OK!

注:這兩個方法有時候也可以寫在一起,先判斷cookie是否存在,在創建。

友情資料:

一、瀏覽器允許每個域名所包含的 cookie 數:Microsoft 指出 Internet Explorer 8 增加 cookie 限制為每個域名 50 個,但 IE7 似乎也允許每個域名 50 個 cookie( color="#006da3">《Update to Internet Explorer&rsquo;s Cookie Jar》)。

Firefox 每個域名 cookie 限制為 50 個。Opera 每個域名 cookie 限制為 30 個。Safari/WebKit 貌似沒有 cookie 限制。但是如果 cookie 很多,則會使 header 大小超過服務器的處理的限制,會導致錯誤發生。注:每個域名 cookie 限制為 20 個將不再正確!

二、當很多的 cookie 被設置,瀏覽器如何去響應。除 (可以設置全部cookie,不管數量多少),有兩個方法:最少最近使用(least recently used (LRU))的方法:當 Cookie 已達到限額,自動踢除最老的 Cookie ,以使給最新的 Cookie 一些空間。 Internet Explorer 和 Opera 使用此方法。

Firefox 很獨特:雖然最后的設置的 Cookie 始終保留,但似乎隨機決定哪些 cookie 被保留。似乎沒有任何計劃(建議:在 Firefox 中不要超過 Cookie 限制)。

三、不同瀏覽器間 cookie 總大小也不同:Firefox 和 Safari 允許 cookie 多達 4097 個字節, 包括名(name)、值(value)和等號。Opera 允許 cookie 多達 4096 個字節, 包括:名(name)、值(value)和等號。Internet Explorer 允許 cookie 多達 4095 個字節, 包括:名(name)、值(value)和等號。注:多字節字符計算為兩個字節。在所有瀏覽器中,任何 cookie 大小超過限制都被忽略,且永遠不會被設置。

當訪問者首次訪問頁面時,他或她也許會填寫他/她們的名字。名字會存儲于 cookie 中。當訪問者再次訪問網站時,他們會收到類似 "Welcome John Doe!" 的歡迎詞。而名字則是從 cookie 中取回的。這就是Cookie,希望本文能幫助到你。

【編輯推薦】

  1. 淘寶如何跨域獲取Cookie分析
  2. J2ME平臺中Cookie技術的應用
  3. 揭秘JavaScript對Cookie的操作
  4. Java中的cookie管理庫與J2ME結合
責任編輯:于鐵 來源: 博客園
相關推薦

2011-04-18 14:23:37

javascriptHTML

2021-06-15 07:32:59

Cookie和Sess實現跨域

2016-11-04 20:02:37

Apache

2022-04-01 12:38:32

cookie代碼面試

2010-10-08 10:35:21

2017-03-12 19:51:38

js實用跨域

2019-04-10 10:32:16

CORSNginx反向代理

2021-03-09 08:35:51

JSS作用域前端

2016-11-01 21:51:03

phpjavascript

2019-04-16 10:05:11

2011-05-26 13:10:30

JSONPJSON

2021-04-27 15:20:41

人工智能機器學習技術

2024-05-20 09:28:44

Spring客戶端瀏覽器

2021-05-06 20:51:52

跨域http協議

2009-12-08 14:43:04

WCF跨域

2017-06-06 14:13:16

2021-06-10 18:11:02

Cors跨域Web開發Cors

2016-09-19 13:52:26

Javascript跨域前端

2017-08-20 12:49:59

瀏覽器跨域服務器

2019-03-01 09:55:28

HTTPMock架構
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 蜜月va乱码一区二区三区 | 亚洲国产成人精品久久 | 欧美高清视频一区 | av在线免费观看不卡 | 伊人网在线看 | 免费在线观看一区二区三区 | 亚洲精品一二三区 | 一区二区三区播放 | 精品视频999| av网站在线看 | 三级视频在线观看 | 亚洲精品精品 | 欧美国产亚洲一区二区 | 久久久久国产一区二区三区四区 | 天天操人人干 | 99久久久无码国产精品 | 欧美日韩在线视频一区 | 久久天堂 | 在线婷婷| 国产成人99 | 天天看天天摸天天操 | 国产精品不卡视频 | 玖操| 亚洲人成一区二区三区性色 | 狠狠狠色丁香婷婷综合久久五月 | 亚洲精品1区 | 日本一区二区在线视频 | 成人亚洲在线 | 国产午夜精品一区二区三区四区 | 婷婷二区 | 欧美成人一区二区 | 日韩人体在线 | www.国产一区 | 精品一二区 | 日韩一级 | 2019精品手机国产品在线 | 国产精品美女久久久久久久久久久 | 日本一区二区三区在线观看 | 少妇精品亚洲一区二区成人 | 成人依人| 成人福利网站 |