国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 語(yǔ)言 > JavaScript > 正文

Javascript讀寫(xiě)cookie的實(shí)例源碼

2024-05-06 15:41:37
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

今天把javascript如何用來(lái)創(chuàng)建及存儲(chǔ)cookie復(fù)習(xí)了一下,其中的一點(diǎn)體會(huì)拿出來(lái)和大家討論,首先看一下基礎(chǔ)知識(shí):

什么是cookie

cookie 是存儲(chǔ)于訪問(wèn)者的計(jì)算機(jī)中的變量。每當(dāng)同一臺(tái)計(jì)算機(jī)通過(guò)瀏覽器請(qǐng)求某個(gè)頁(yè)面時(shí),就會(huì)發(fā)送這個(gè) cookie。你可以使用 JavaScript 來(lái)創(chuàng)建和取回 cookie 的值。

cookie的例子

名字 cookie: 當(dāng)訪問(wèn)者首次訪問(wèn)頁(yè)面時(shí),他或她也許會(huì)填寫(xiě)他/她們的名字。名字會(huì)存儲(chǔ)于 cookie 中。當(dāng)訪問(wèn)者再次訪問(wèn)網(wǎng)站時(shí),他們會(huì)收到類(lèi)似 "Welcome John Doe!" 的歡迎詞。而名字則是從 cookie 中取回的。

密碼 cookie: 當(dāng)訪問(wèn)者首次訪問(wèn)頁(yè)面時(shí),他或她也許會(huì)填寫(xiě)他/她們的密碼。密碼也可被存儲(chǔ)于 cookie 中。當(dāng)他們?cè)俅卧L問(wèn)網(wǎng)站時(shí),密碼就會(huì)從 cookie 中取回。

日期 cookie: 當(dāng)訪問(wèn)者首次訪問(wèn)你的網(wǎng)站時(shí),當(dāng)前的日期可存儲(chǔ)于 cookie 中。當(dāng)他們?cè)俅卧L問(wèn)網(wǎng)站時(shí),他們會(huì)收到類(lèi)似這樣的一條消息:"Your last visit was on Tuesday August 11, 2005!"。日期也是從 cookie 中取回的。

下面來(lái)創(chuàng)建一個(gè)cookie的實(shí)例,如何來(lái)創(chuàng)建cookie及取出cookie。

javascript部分代碼:

//創(chuàng)建cookiefunction setCookie(name, value, expireday) { var exp = new Date(); exp.setTime(exp.getTime() + expireday*24*60*60*1000); //設(shè)置cookie的期限 document.cookie = name+"="+escape(value)+"; expires"+"="+exp.toGMTString();//創(chuàng)建cookie}//提取cookie中的值function getCookie(name) { var cookieStr = document.cookie; if(cookieStr.length > 0) { var cookieArr = cookieStr.split(";"); //將cookie信息轉(zhuǎn)換成數(shù)組 for (var i=0; i<cookieArr.length; i++) {  var cookieVal = cookieArr[i].split("="); //將每一組cookie(cookie名和值)也轉(zhuǎn)換成數(shù)組  if(cookieVal[0] == name) {  return unescape(cookieVal[1]); //返回需要提取的cookie值  } } }}//測(cè)試cookiefunction checkCookie() { var cookieUser = document.getElementById("cookieUser"); var userName = getCookie("userName"); if(userName) { cookieUser.innerHTML = "您好"+userName+",歡迎再次回來(lái)!";  } else { var value = prompt("請(qǐng)輸入用戶名", ""); if(value) {  setCookie('userName', value, 1); } else {  alert("請(qǐng)輸入用戶名!"); } }}

主要在于如何提取我們需要的cookie信息,在本例的getCookie函數(shù)中主要是將cookie信息轉(zhuǎn)化成數(shù)組的方式來(lái)查找我們需要提取的cookie值。還可以通過(guò)正則表達(dá)式的方式來(lái)匹配,如下:

function getCookie(name) { var cookieStr = document.cookie; var cookieArr = cookieStr.match(new RegExp(name+"=[a-zA-Z0-9]*;$")); var cookieVal = cookieArr.split("="); if(cookieVal[0] == name) { return unescape(cookieVal[1]); }}

比如在這個(gè)例子中,如果打開(kāi)瀏覽器中沒(méi)有存儲(chǔ)名為userName的cookie,則會(huì)提示用戶輸入用戶名,再次刷新頁(yè)面時(shí)則會(huì)顯示輸入的cookie值。 最后我們可以測(cè)試一下代碼:

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 安岳县| 禹城市| 和田市| 滕州市| 定襄县| 蛟河市| 嘉义县| 定襄县| 沿河| 清涧县| 南丹县| 罗山县| 石城县| 滦平县| 纳雍县| 交城县| 贡觉县| 偃师市| 阿巴嘎旗| 如皋市| 湘潭县| 柯坪县| 乌拉特中旗| 微博| 江西省| 绍兴市| 淄博市| 家居| 专栏| 左权县| 霸州市| 台江县| 灵宝市| 泰和县| 河北区| 农安县| 政和县| 聂荣县| 潮州市| 纳雍县| 巴马|