Jquery cookie插件實(shí)現(xiàn)原理代碼解析
Cookie 是由 Web 服務(wù)器保存在用戶瀏覽器上的小文本文件,它包含有關(guān)用戶的本地終端上的數(shù)據(jù)。
jQuery提供了一個(gè)十分簡(jiǎn)單的插件(名稱也是Cookie)來管理網(wǎng)站的Cookie。
下載地址:http://github.com/carhartl/jquery-cookie
例子: 當(dāng)在用戶名字段填寫用戶名后,單擊下面的“記住用戶名”復(fù)選框后,再次打開這個(gè)頁面,發(fā)現(xiàn)用戶名字段上已經(jīng)被自動(dòng)賦值(之前所填寫的用戶名)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="../../scripts/jquery.js" type="text/javascript"></script> <script src="js/jquery.cookie.js" type="text/javascript"></script> <script type="text/javascript"> $(function() { var COOKIE_NAME = 'username'; if( $.cookie(COOKIE_NAME) ){ $("#username").val( $.cookie(COOKIE_NAME) ); } $("#check").click(function(){ if(this.checked){ $.cookie(COOKIE_NAME, $("#username").val() , { path: '/', expires: 10 }); }else{ $.cookie(COOKIE_NAME, null, { path: '/' }); } }); }); </script> </head> <body> 用戶名:<input type="text" name="username" id="username" /> <br/> <input type="checkbox" name="check" id="check"/>記住用戶名 </body> </html>
調(diào)試:
使用chrome調(diào)試,發(fā)現(xiàn)無法實(shí)現(xiàn)效果
嘗試獲取cookie文件也失效
原因:
chrome不支持js在本地操作cookie。據(jù)測(cè)試,除了chrome瀏覽器外,其他主流瀏覽器(ie、firefox等)都支持js在本地操作cookie。當(dāng)然部署到服務(wù)器上所有瀏覽器都是支持的。
擴(kuò)展:
操作cookie失效還有一個(gè)原因:瀏覽器設(shè)置成不支持Cookie。
可以通過以下代碼測(cè)試瀏覽器是否支持Cookie或者Cookie是否被禁用?
var dt = new Date(); dt.setSeconds(dt.getSeconds() + 60); document.cookie = "cookietest=1; expires=" + dt.toGMTString(); var cookiesEnabled = document.cookie.indexOf("cookietest=") != -1; if(!cookiesEnabled) { //沒有啟用cookie alert("沒有啟用cookie "); } else{ //已經(jīng)啟用cookie alert("已經(jīng)啟用cookie "); }
經(jīng)測(cè)試,chrome的確沒有啟用Cookie,因此上述例子達(dá)不到效果
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
jQuery之浮動(dòng)窗口實(shí)現(xiàn)代碼(兩種方法)
今天公司要求實(shí)現(xiàn)浮動(dòng)窗口效果,自己看了不少資料終于實(shí)現(xiàn)此效果。用jQ實(shí)現(xiàn)浮動(dòng)窗口功能,彈出窗口時(shí)背景變暗.2010-09-09jQuery學(xué)習(xí)筆記 更改jQuery對(duì)象
jQuery提供了一些方法,使流程變?yōu)樯蒵Query對(duì)象A,操作jQuery對(duì)象A;更改為jQuery對(duì)象B,操作jQuery對(duì)象B2012-09-09jQuery實(shí)現(xiàn)多張圖片上傳預(yù)覽(不經(jīng)過后端處理)
本篇文章主要介紹了jQuery實(shí)現(xiàn)多張圖片上傳預(yù)覽(不經(jīng)過后端處理)的相關(guān)知識(shí)。具有很好的參考價(jià)值。下面跟著小編一起來看下吧2017-04-04jquery 重寫 ajax提交并判斷權(quán)限后 使用load方法報(bào)錯(cuò)解決方法
這篇文章主要介紹了jquery 重寫 ajax提交并判斷權(quán)限后 使用load方法報(bào)錯(cuò)解決方法 的相關(guān)資料,需要的朋友可以參考下2016-01-01基于jquery實(shí)現(xiàn)手風(fēng)琴效果
這篇文章主要為大家詳細(xì)介紹了基于jquery實(shí)現(xiàn)手風(fēng)琴效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04boxy基于jquery的彈出層對(duì)話框插件擴(kuò)展應(yīng)用 彈出層選擇器
當(dāng)大家進(jìn)行復(fù)雜功能設(shè)計(jì)的時(shí)候,在對(duì)多級(jí)聯(lián)選擇進(jìn)行設(shè)計(jì),為了獲得更好的用戶體驗(yàn)和節(jié)省頁面空間,往往會(huì)使用彈出層的方法。2010-11-11JQuery 中幾個(gè)類選擇器的簡(jiǎn)單使用介紹
類選擇器想必很多喜歡jquery的朋友早早就涉及到了吧,它們的使用也應(yīng)該了如指掌了吧,接下來幫大家溫習(xí)下幾個(gè)簡(jiǎn)單類選擇器的使用方法,感興趣的你可以參考下哈,希望對(duì)你有所幫助2013-03-03jquery 簡(jiǎn)單導(dǎo)航實(shí)現(xiàn)代碼
jquery簡(jiǎn)單導(dǎo)航實(shí)現(xiàn)代碼,需要的朋友可以參考下。2009-09-09