標籤

2019年5月23日星期四

Cookies 曲奇 小甜餅

**DSE必出**



  • Cookies 是一個在用戶電腦的文本檔案 (小於4KB),貯存用戶的瀏覽資訊。
  • 當用戶接受某網站使用Cookies, 就會在本機建立一個Cookies檔案,貯存在該網頁的資訊,當網站可存取這個Cookies 的訊息以省卻用戶輸入的時間
  • Cookies 會保存的資訊: 已登入的訊息,搜尋歷史,在使用服務時的喜好選擇
  • Cookies 一般會有使用限期,讓用戶在特定時限結束前毋須重新輸入進入網頁之密碼。







Cookie 以名/值对形式存储,如下所示:
username=John Doe



JavaScript 中,创建 cookie 如下所示:
document.cookie="username=John Doe";
您还可以为 cookie 添加一个过期时间(以 UTC 或 GMT 时间)。默认情况下,cookie 在浏览器关闭时删除:
document.cookie="username=John Doe; expires=Thu, 18 Dec 2043 12:00:00 GMT";





實習:

設置 cookie 值的函數

首先,我們創建一個函數用於存儲訪問者的名字:
function setCookie(cname,cvalue,exdays) { var d = new Date(); d.setTime(d.getTime()+(exdays*24*60*60*1000)); var expires = "expires="+d.toGMTString(); document.cookie = cname + "=" + cvalue + "; " + expires; }


獲取 cookie 值的函數

然後,我們創建一個函數用戶返回指定 cookie 的值:
function getCookie(cname) { var name = cname + "="; var ca = document.cookie.split(';'); for(var i=0; i<ca.length; i++) { var c = ca[i].trim(); if (c.indexOf(name)==0) return c.substring(name.length,c.length); } return ""; }


检测 cookie 值的函数

最后,我们可以创建一个检测 cookie 是否创建的函数。
如果设置了 cookie,将显示一个问候信息。
如果没有设置 cookie,将会显示一个弹窗用于询问访问者的名字,并调用 setCookie 函数将访问者的名字存储 365 天:
function checkCookie() { var username=getCookie("username"); if (username!="") { alert("Welcome again " + username); } else { username = prompt("Please enter your name:",""); if (username!="" && username!=null) { setCookie("username",username,365); } } }



示範1:

示範2 (較易):



沒有留言:

發佈留言