您好,登錄后才能下訂單哦!
小編給大家分享一下關于Jquery中cookie插件實現原理的案例分析,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
Cookie 是由 Web 服務器保存在用戶瀏覽器上的小文本文件,它包含有關用戶的本地終端上的數據。
jQuery提供了一個十分簡單的插件(名稱也是Cookie)來管理網站的Cookie。
下載地址:http://github.com/carhartl/jquery-cookie
例子: 當在用戶名字段填寫用戶名后,單擊下面的“記住用戶名”復選框后,再次打開這個頁面,發現用戶名字段上已經被自動賦值(之前所填寫的用戶名)
<!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>
調試:
使用chrome調試,發現無法實現效果
嘗試獲取cookie文件也失效
原因:
chrome不支持js在本地操作cookie。據測試,除了chrome瀏覽器外,其他主流瀏覽器(ie、firefox等)都支持js在本地操作cookie。當然部署到服務器上所有瀏覽器都是支持的。
擴展:
操作cookie失效還有一個原因:瀏覽器設置成不支持Cookie。
可以通過以下代碼測試瀏覽器是否支持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{ //已經啟用cookie alert("已經啟用cookie "); }
經測試,chrome的確沒有啟用Cookie,因此上述例子達不到效果
看完了這篇文章,相信你對關于Jquery中cookie插件實現原理的案例分析有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。