首先先讓咱們簡單地瞭解一下cookie.
在咱們製做網頁的過程當中,常常須要把信息從一個頁面傳遞給另外一個頁面,這時候就須要用到JavaScript中的cookie機制了。簡單說來,cookie提供了一種便捷的方式,可以在用戶的計算機上保存少許數據而且遠程得到它們,從而讓網站能夠保存一些細節信息,好比用戶的習慣設置或是上一次訪問網站的時間。cookie自己是一些短小的信息,可以由頁面保存在用戶的計算機上,而後被其餘頁面讀取。cookie通常都設置爲在必定時間後失效。
固然,cookie也有侷限之處:瀏覽器對於可以保存的cookie數量有所限制,一般是幾百個或者多一點。通常狀況下,每一個域名20個cookies是容許的,而每一個域最多能保存4KB的cookie.除了大小限制可能致使的問題,也有不少緣由會引發硬盤上的cookie消失,好比達到有效期限了,或是用戶清理了cookie信息,或是換用了其餘瀏覽器。所以,cookie不適合用來保存重要數據,在編寫代碼時也要考慮到cookie獲取異常的處理方法。
在JavaScript中,使用document對象的cookie屬性來儲存和獲取cookie.一般,document.cookie裏的信息是由成對的名稱和值組成的字符串,每一對數據的形式是:html
name=value;瀏覽器
下面咱們將經過一個簡單的例子來展現在JavaScript中如何讀取和寫入cookie.
首先是createCookie.html,在該頁面中會建立一個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: <input id="name" type="text" /><br><br> Password: <input id="pwd" type="password" /><br><br> <button onclick="createCookie()">Submit</submit> </body> </html>
該頁面的截圖以下:
cookie
<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: '+arr[0]+"<br>password is: "+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>
頁面截圖以下:
網站