狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

JavaScript操作Cookie

admin
2010年9月2日 13:59 本文熱度 3904

Cookie是保存在瀏覽器端的,因此瀏覽器具有操作Cookie的先決條件。瀏覽器可以使用腳本程序如JavaScript或者VBScript等操作Cookie。這里以JavaScript為例介紹常用的Cookie操作。例如下面的代碼會輸出本頁面所有的Cookie。




  1. <script>document.write(document.cookie);</script> 


各Cookie之間用分號";"隔開,例如:"cookie1=A;cookie2=B"。JavaScript中并沒有專門處理Cookie的API,如果想單獨獲取某個Cookie值,只能手工寫代碼解析字符串。例如下面代碼中的setCookie()與getCookie()方法。


代碼5.7  javascript.jsp




  1. <%@ page language="java" pageEncoding="UTF-8"%>  
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  3. <html>  
  4.     <head>  
  5.         <script type="text/javascript">  
  6.         function getCookie(name){               // 返回名為name的Cookie  
  7.             var str = document.cookie;          // 獲取Cookie字符串  
  8.             if(!str || str.indexOf(name + "=") < 0) // 尋找name=  
  9.                 return;  
  10.             var cookies = str.split("; ");      // 用;將所有的Cookie分隔開  
  11.             for(var i=0; i<cookies.length; i++){    // 遍歷每個Cookie  
  12.                 var cookie = cookies[i];        // 當前Cookie  
  13.                 if(cookie.indexOf(name + "=") == 0){    // 如果名字為name  
  14.                     var value = cookie.substring(name.length + 1);  
  15.                                                 // 獲取value  
  16.                     return decodeURI(value);    // 將value解碼,并返回  
  17.                 }  
  18.             }  
  19.         }  
  20.         function setCookie(name, value){        // 設置Cookie  
  21.             document.cookie = name + "=" + encodeURI(value);  
  22.                                                 // 直接設置即可  
  23.         }  
  24.         </script>  
  25.     </head>  
  26.     <body>  
  27.         <div align="center" style="margin:10px; ">  
  28.             <fieldset>  
  29.                 <legend>當前有效的 Cookie</legend>  
  30.                 <div id="cookieDiv"></div>  
  31.                 <script type="text/javascript">  
  32.                     cookieDiv.innerHTML = document.cookie;  
  33.                 </script>  
  34.             </fieldset>  
  35.             <fieldset>  
  36.                 <legend>歡迎您</legend>  
  37.                 <table>  
  38.                     <tr>  
  39.                         <td>讀取 Cookie: </td>  
  40.                         <td><input name="name1" /> <input class="button" 


    type="button" value="讀取" onclick="alert   


  41.                         (getCookie(name1.value)); "></td>  
  42.                     </tr>  
  43.                     <tr>  
  44.                         <td>設置 Cookie: </td>  
  45.                         <td></td>  
  46.                     </tr>  
  47.                     <tr>  
  48.                         <td align="right">Name 屬性: </td>  
  49.                         <td><input name="name2" /></td>  
  50.                     </tr>  
  51.                     <tr>  
  52.                         <td align="right">Value 屬性: </td>  
  53.                         <td><input name="value2" /></td>  
  54.                     </tr>  
  55.                     <tr>  
  56.                         <td>    </td>  
  57.                         <td><input type="button" value="設置" onclick=   
  58.                         "setCookie(name2.value, value2.value); cookieDiv.   
  59.                         innerHTML = document.cookie; " class="button"></td>  
  60.                     </tr>  
  61.                 </table>  
  62.             </fieldset>  
  63.         </div>  
  64.     </body>  
  65. </html> 


代碼使用純JavaScript代碼實現了讀寫Cookie。運行效果如圖5.6所示。


上面的setCookie()是個簡化了的方法,只能設置name與value屬性。如果要設置所有的Cookie屬性,可以使用下面的完全版本。




  1. function setCookie(name, value){                            // 設置Cookie  
  2.     var expires = (arguments.length > 2) ? arguments[2] : null;  
  3.                                                     // 判斷expires屬性  
  4.     var path = (arguments.length > 3) ? arguments[3] : null;  
  5.                                                     // 判斷path屬性  
  6.     var domain = (arguments.length > 4) ? arguments[4] : null;    
  7.                                                     // 判斷domain屬性  
  8.     var secure = (arguments.length > 5) ? arguments[5] : false;  
  9.                                                     // 判斷secure屬性  
  10.     document.cookie = name + "=" + encodeURI(value) +   // 設置Cookie屬性  
  11.       ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +  
  12.       ((path == null) ? "" : ("; path=" + path)) +  
  13.       ((domain == null) ? "" : ("; domain=" + domain)) +  
  14.       ((secure == true) ? "; secure" : "");  
由于JavaScript能夠任意地讀寫Cookie,有些好事者便想使用JavaScript程序去窺探用戶在其他網站的Cookie。不過這是徒勞的,W3C組織早就意識到JavaScript對Cookie的讀寫所帶來的安全隱患并加以防備了,W3C標準的瀏覽器會阻止JavaScript讀寫任何不屬于自己網站的Cookie。換句話說,A網站的JavaScript程序讀寫B網站的Cookie不會有任何結果。

該文章在 2010/9/2 13:59:24 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved