首先先让咱们简单地了解一下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>
页面截图以下:
网站