多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

中國(guó)最全I(xiàn)T社區(qū)平臺(tái) 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2

javascript教程

JavaScript 教程

JS 函數(shù)

JS HTML DOM

JS 高級(jí)教程

JS 瀏覽器BOM

JS 庫(kù)

JS 實(shí)例

拓展閱讀

JavaScript Cookies

閱讀 (2140)

JavaScript Cookies


Cookies 用于存儲(chǔ) web 頁(yè)面的用戶信息。


什么是 Cookies?

Cookies 是一些數(shù)據(jù), 存儲(chǔ)于你電腦上的文本文件中。

當(dāng) web 服務(wù)器向?yàn)g覽器發(fā)送 web 頁(yè)面時(shí),在連接關(guān)閉后,服務(wù)端不會(huì)記錄用戶的信息。

Cookies 的作用就是用于解決 "如何記錄客戶端的用戶信息":

  • 當(dāng)用戶訪問(wèn) web 頁(yè)面時(shí),他的名字可以記錄在 cookie 中。
  • 在用戶下一次訪問(wèn)該頁(yè)面時(shí),可以在 cookie 中讀取用戶訪問(wèn)記錄。

Cookies 以名/值對(duì)形式存儲(chǔ),如下所示:

username=John Doe

當(dāng)瀏覽器從服務(wù)器上請(qǐng)求 web 頁(yè)面時(shí), 屬于該頁(yè)面的 cookies 會(huì)被添加到該請(qǐng)求中。服務(wù)端通過(guò)這種方式來(lái)獲取用戶的信息。


使用 JavaScript 創(chuàng)建Cookie

JavaScript 可以使用 document.cookie 屬性來(lái)創(chuàng)建 、讀取、及刪除 cookies。

JavaScript 中,創(chuàng)建 cookie 如下所示:

document.cookie="username=John Doe";

您還可以為 cookie 添加一個(gè)過(guò)期時(shí)間(以 UTC 或 GMT 時(shí)間)。默認(rèn)情況下,cookie 在瀏覽器關(guān)閉時(shí)刪除:

document.cookie="username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 GMT";

您可以使用 path 參數(shù)告訴瀏覽器 cookie 的路徑。默認(rèn)情況下,cookie 屬于當(dāng)前頁(yè)面。

document.cookie="username=John Doe; expires=Thu, 18 Dec 2013 12:00:00 GMT; path=/";

使用 JavaScript 讀取 Cookie

在 JavaScript 中, 可以使用以下代碼來(lái)讀取 cookies:

var x = document.cookie;

Note document.cookie 將以字符串的方式返回所有的 cookies,類型格式: cookie1=value; cookie2=value; cookie3=value;


使用 JavaScript 修改 Cookie

在 JavaScript 中,修改 cookies 類似于創(chuàng)建 cookies,如下所示:

document.cookie="username=John Smith; expires=Thu, 18 Dec 2013 12:00:00 GMT; path=/";

舊的 cookie 將被覆蓋。


使用 JavaScript 刪除 Cookie

刪除 cookie 非常簡(jiǎn)單。您只需要設(shè)置 expires 參數(shù)為以前的時(shí)間即可,如下所示,設(shè)置為 Thu, 01 Jan 1970 00:00:00 GMT:

document.cookie = "username=; expires=Thu, 01 Jan 1970 00:00:00 GMT";

注意,當(dāng)您刪除時(shí)不必指定 cookie 的值。


Cookie 字符串

document.cookie 屬性看起來(lái)像一個(gè)普通的文本字符串,其實(shí)它不是。

即使您在 document.cookie 中寫(xiě)入一個(gè)完整的 cookie 字符串, 當(dāng)您重新讀取該 cookie 信息時(shí),cookie 信息是以名/值對(duì)的形式展示的。

如果您設(shè)置了新的 cookie,舊的 cookie 不會(huì)被覆蓋。 新 cookie 將添加到 document.cookie 中,所以如果您重新讀取document.cookie,您將獲得如下所示的數(shù)據(jù):

cookie1=value; cookie2=value;

     

如果您需要查找一個(gè)指定 cookie 值,您必須創(chuàng)建一個(gè)JavaScript 函數(shù)在 cookie 字符串中查找 cookie 值。


JavaScript Cookie 實(shí)例

在以下實(shí)例中,我們將創(chuàng)建 cookie 來(lái)存儲(chǔ)訪問(wèn)者名稱。

首先,訪問(wèn)者訪問(wèn) web 頁(yè)面, 他將被要求填寫(xiě)自己的名字。該名字會(huì)存儲(chǔ)在 cookie 中。

訪問(wèn)者下一次訪問(wèn)頁(yè)面時(shí),他會(huì)看到一個(gè)歡迎的消息。

在這個(gè)實(shí)例中我們會(huì)創(chuàng)建 3 個(gè) JavaScript 函數(shù):

  1. 設(shè)置 cookie 值的函數(shù)
  2. 獲取 cookie 值的函數(shù)
  3. 檢測(cè) cookie 值的函數(shù)

設(shè)置 cookie 值的函數(shù)

首先,我們創(chuàng)建一個(gè)函數(shù)用于存儲(chǔ)訪問(wèn)者的名字:

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;
}

函數(shù)解析:

以上的函數(shù)參數(shù)中,cookie 的名稱為 cname,cookie 的值為 cvalue,并設(shè)置了 cookie 的過(guò)期時(shí)間 expires。

該函數(shù)設(shè)置了 cookie 名、cookie 值、cookie過(guò)期時(shí)間。


獲取 cookie 值的函數(shù)

然后,我們創(chuàng)建一個(gè)函數(shù)用戶返回指定 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 "";
}

函數(shù)解析:

cookie 名的參數(shù)為 cname。

創(chuàng)建一個(gè)文本變量用于檢索指定 cookie :cname + "="。

使用分號(hào)來(lái)分割 document.cookie 字符串,并將分割后的字符串?dāng)?shù)組賦值給 ca (ca = document.cookie.split(';'))。

循環(huán) ca 數(shù)組 (i=0;i<ca.length;i++),然后讀取數(shù)組中的每個(gè)值,并去除前后空格 (c=ca[i].trim())。

如果找到 cookie(c.indexOf(name) == 0),返回 cookie 的值 (c.substring(name.length,c.length)。

如果沒(méi)有找到 cookie, 返回 ""。


檢測(cè) cookie 值的函數(shù)

最后,我們可以創(chuàng)建一個(gè)檢測(cè) cookie 是否創(chuàng)建的函數(shù)。

如果設(shè)置了 cookie,將顯示一個(gè)問(wèn)候信息。

如果沒(méi)有設(shè)置 cookie,將會(huì)顯示一個(gè)彈窗用于詢問(wèn)訪問(wèn)者的名字,并調(diào)用 setCookie 函數(shù)將訪問(wèn)者的名字存儲(chǔ) 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);
    }
  }
}


完整實(shí)例

實(shí)例

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;
}

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 "";
}

function checkCookie()
{
var user=getCookie("username");
if (user!="")
  {
  alert("Welcome again " + user);
  }
else
  {
  user = prompt("Please enter your name:","");
  if (user!="" && user!=null)
    {
    setCookie("username",user,365);
    }
  }
}

嘗試一下 ?

以下實(shí)例在頁(yè)面載入時(shí)執(zhí)行 checkCookie() 函數(shù)。

關(guān)閉
程序員人生
主站蜘蛛池模板: 久久久久久久岛国免费观看 | 在线播放国产一区 | 亚洲精品欧美精品一区二区 | 性欧美video另类hd人妖 | 一区二区视频 | 国内精品久久久久影院网站 | 国产精品久久久精品视频 | 天堂在线视频观看 | xxxx性欧美 | 综合网站| 亚洲视频一区二区 | 番号网在线| 伊人222成人综合网 伊人2233 | 亚洲精品久久久午夜伊人 | 欧美一级毛片100部 欧美一级毛片不卡免费观看 | 亚洲欧美日韩在线精品一区二区 | 亚洲国产精品嫩草影院 | 性欧美高清极品xx | 亚洲成a人片在线播放观看国产 | 日本天堂在线播放 | 国产第一页亚洲 | 亚洲一区二区三区高清视频 | 国产在线一区二区 | 欧美一级免费看 | 秋霞免费手机理论视频在线观看 | 日韩欧美亚洲国产一区二区三区 | 成人在激情在线视频 | 国产女人的一级毛片视频 | www.国产一区二区三区 | 亚洲精品国产自在久久老牛 | 亚洲综合综合在线 | 武则天一级淫片免费放 | 成人欧美一区二区三区视频不卡 | avtt亚洲一区中文字幕 | 99热成人精品国产免国语的 | 国产精品高清全国免费观看 | 亚洲欧美日韩久久精品第一区 | 国产福利一区二区在线观看 | 日韩亚| 欧美69视频在线 | 亚洲欧美韩日 |