溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

實例學習JavaScript讀取和寫入cookie

發(fā)布時間:2020-09-03 23:06:24 來源:腳本之家 閱讀:128 作者:jclian91 欄目:web開發(fā)

首先先讓我們簡單地了解一下cookie.

在我們制作網頁的過程中,經常需要把信息從一個頁面?zhèn)鬟f給另一個頁面,這時候就需要用到JavaScript中的cookie機制了。簡單說來,cookie提供了一種便捷的方式,能夠在用戶的計算機上保存少量數據并且遠程獲得它們,從而讓網站可以保存一些細節(jié)信息,比如用戶的習慣設置或是上一次訪問網站的時間。cookie本身是一些短小的信息,能夠由頁面保存在用戶的計算機上,然后被其他頁面讀取。cookie一般都設置為在一定時間后失效。

當然,cookie也有局限之處:瀏覽器對于能夠保存的cookie數量有所限制,通常是幾百個或者多一點。一般情況下,每個域名20個cookies是允許的,而每個域最多能保存4KB的cookie.除了大小限制可能導致的問題,也有很多原因會引起硬盤上的cookie消失,比如達到有效期限了,或是用戶清理了cookie信息,或是換用了其他瀏覽器。因此,cookie不適合用來保存重要數據,在編寫代碼時也要考慮到cookie獲取異常的處理方法。

在JavaScript中,使用document對象的cookie屬性來儲存和獲取cookie.通常,document.cookie里的信息是由成對的名稱和值組成的字符串,每一對數據的形式是:

name=value;

下面我們將通過一個簡單的例子來展示在JavaScript中如何讀取和寫入cookie.

首先是createCookie.html,在該頁面中會創(chuàng)建一個cookie,完整的代碼如下:

<html>
<head>
  <title>createCookie</title>
  <script>
    function createCookie(){
      //get name and password
      var name = document.getElementById("name").value;
      var pwd = document.getElementById("pwd").value;
      //create cookie
      document.cookie = name+'|'+pwd;
      //go to showCookie.html page
      window.location.href = "showCookie.html";
    }
  </script>
</head>
<body>
  Userame:&nbsp;&nbsp;<input id="name" type="text" /><br><br>
  Password:&nbsp;&nbsp;<input id="pwd" type="password" /><br><br>
  <button onclick="createCookie()">Submit</submit>
</body>
</html>

該頁面的截圖如下:

實例學習JavaScript讀取和寫入cookie

點擊submit按鈕,就會創(chuàng)建一個cookie,在該cookie中保存了Username和Password信息,并且會跳轉到showCookie.html頁面。其中,showCookie.html頁面的完整代碼如下:

<html>
<head>
  <title>showCookie</title>
  <script>
    function showCookie(){
      //document.cookie is a string, using split() function to get cookie date in array form 
      var arr = document.cookie.split('|');
      //processing data in cookie
      var cookie_info = 'Data in cookie:<br>username is:&nbsp;&nbsp;'+arr[0]+"<br>password is:&nbsp;&nbsp;"+arr[1]+'<br>';
      //set content of element of id "res"
      document.getElementById("res").innerHTML = cookie_info;
    }
  </script>
</head>
<body>
  <button onclick="showCookie()">Show Cookie</button>
  <p id="res"></p>
</body>
</html>

頁面截圖如下:

實例學習JavaScript讀取和寫入cookie

點擊show Cookie按鈕就會顯示cookie里面的信息了。

下面,我們將會在本地和服務器上分別跑這個程序,分別在IE瀏覽器和Chrome瀏覽器上運行這個程序,看看cookie的運行情況。

首先我們在本地運行這個程序,我們將上述兩個文件都放在E盤中。先在IE瀏覽器上運行,在createCookie.html頁面上輸入信息,并點擊submit按鈕,截圖如下:

實例學習JavaScript讀取和寫入cookie

跳轉到showCookie.html頁面后,點擊show Cookie按鈕,頁面截圖如下:

實例學習JavaScript讀取和寫入cookie

cookie在本地環(huán)境中的IE瀏覽器中運行正常。

接下來,我們看看在Chrome瀏覽器中運行情況,首先在Chrome瀏覽器中打開createCookie.html頁面,輸入信息,并點擊submit按鈕,截圖如下:

實例學習JavaScript讀取和寫入cookie

跳轉到showCookie.html頁面后,點擊show Cookie按鈕,頁面截圖如下:

實例學習JavaScript讀取和寫入cookie

同樣的程序,這次cookie在Chrome瀏覽器中卻運行失敗了。

接著讓我們在服務器中運行這個程序,需要用到xampp,并打開Apache服務器,將上述兩個html文件放在xampp安裝文件夾下的htdocs文件夾下(具體的操作方法可以參考這篇博客:JavaScript之使用AJAX(適合初學者))。我們現(xiàn)在IE瀏覽器中運行該程序,在IE瀏覽器中輸入網址:http://localhost/createCookie...:

實例學習JavaScript讀取和寫入cookie

點擊Submit按鈕,跳轉到showCookie.html頁面,并點擊show Cookie按鈕,截圖如下:

實例學習JavaScript讀取和寫入cookie

然后我們在Chrome瀏覽器中輸入網址:http://localhost/createCookie...:

實例學習JavaScript讀取和寫入cookie

點擊Submit按鈕,跳轉到showCookie.html頁面,并點擊show Cookie按鈕,截圖如下:

實例學習JavaScript讀取和寫入cookie

這次在服務器環(huán)境下,IE瀏覽器和Chrome瀏覽器的cookie都運行正常!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI