欧美成人精品手机在线观看_69视频国产_动漫精品第一页_日韩中文字幕网 - 日本欧美一区二区

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開(kāi)發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

JavaScript操作Cookie

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

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




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


各Cookie之間用分號(hào)";"隔開(kāi),例如:"cookie1=A;cookie2=B"。JavaScript中并沒(méi)有專門(mén)處理Cookie的API,如果想單獨(dú)獲取某個(gè)Cookie值,只能手工寫(xiě)代碼解析字符串。例如下面代碼中的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分隔開(kāi)  
  11.             for(var i=0; i<cookies.length; i++){    // 遍歷每個(gè)Cookie  
  12.                 var cookie = cookies[i];        // 當(dāng)前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){        // 設(shè)置Cookie  
  21.             document.cookie = name + "=" + encodeURI(value);  
  22.                                                 // 直接設(shè)置即可  
  23.         }  
  24.         </script>  
  25.     </head>  
  26.     <body>  
  27.         <div align="center" style="margin:10px; ">  
  28.             <fieldset>  
  29.                 <legend>當(dāng)前有效的 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>設(shè)置 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="設(shè)置" 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代碼實(shí)現(xiàn)了讀寫(xiě)Cookie。運(yùn)行效果如圖5.6所示。


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




  1. function setCookie(name, value){                            // 設(shè)置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) +   // 設(shè)置Cookie屬性  
  11.       ((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +  
  12.       ((path == null) ? "" : ("; path=" + path)) +  
  13.       ((domain == null) ? "" : ("; domain=" + domain)) +  
  14.       ((secure == true) ? "; secure" : "");  
由于JavaScript能夠任意地讀寫(xiě)Cookie,有些好事者便想使用JavaScript程序去窺探用戶在其他網(wǎng)站的Cookie。不過(guò)這是徒勞的,W3C組織早就意識(shí)到JavaScript對(duì)Cookie的讀寫(xiě)所帶來(lái)的安全隱患并加以防備了,W3C標(biāo)準(zhǔn)的瀏覽器會(huì)阻止JavaScript讀寫(xiě)任何不屬于自己網(wǎng)站的Cookie。換句話說(shuō),A網(wǎng)站的JavaScript程序讀寫(xiě)B(tài)網(wǎng)站的Cookie不會(huì)有任何結(jié)果。

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