jquery.cookie.js用法詳細解析
最近專案需要做網站,所以我一個後臺也要負責要前端,所以最近最幾篇文章就講下我最近專案用到第三方js元件吧。
Cookie是由伺服器端生成,傳送給User-Agent(一般是瀏覽器),瀏覽器會將Cookie的key/value儲存到某個目錄下的文字檔案內,下次請求同一網站時就傳送該Cookie給伺服器(前提是瀏覽器設定為啟用cookie)。
例如購物網站儲存使用者曾經瀏覽過的產品列表,或者入口網站記住使用者喜歡選擇瀏覽哪類新聞。 在使用者允許的情況下,還可以儲存使用者的登入資訊,使得使用者在訪問網站時不必每次都鍵入這些資訊?
cookie的話其實用js也可以操作,但是為了方便,我們直接用個cookie的外掛--jQuery.Cookie.js,是一個輕量級的Cookie管理外掛。
我們可以直接用它的CDN加速下載地址,也稍微減輕下伺服器壓力吧。在http://www.bootcdn.cn/jquery-cookie/可以尋找各個版本的jquery-cookie的cdn地址。
我們直接就用最新版的吧。因為前後端沒分離,所以用的是模板引擎freemarker。
在需要使用cookie的頁面ftl新增這行程式碼引入js。
<script type="text/javascript" src="https://cdn.bootcss.com/jquery-cookie/1.4.1/jquery.cookie.js"></script>
如果是硬碟裡某個靜態的html檔案引入jquery——cookie其實也不能使用cookie。
必須要部署到伺服器才能跑,才能設定cookie。
為了實現某些功能,把一些資料儲存到使用者的本地計算機。
注意事項:同源
1)必須是服務環境
2)不安全 , 因為它存在了使用者的本地機器上(臨時儲存)
3)過期時間:
預設: session —— 會話時間(會話結束、瀏覽器關閉,cookie消失)
4)大小、容量 一般 4K 左右,有的瀏覽器還有條數的限制
—— 珍貴的資源
5)不管看到的是什麼,值都是String型別
使用方法
1.新新增一個會話 cookie:
$.cookie('the_cookie', 'the_value');
當沒有指明 cookie有效時間時,所建立的cookie有效期預設到使用者關閉瀏覽器為止
2.建立一個cookie並設定有效時間為 10天:
$.cookie('the_cookie', 'the_value', { expires: 10 });
3.建立一個cookie並設定 cookie的有效路徑:
$.cookie('the_cookie', 'the_value', { expires: 10, path: '/' });
在預設情況下,只有設定 cookie的網頁才能讀取該 cookie。如果想讓一個頁面讀取另一個頁面設
置的cookie,必須設定cookie的路徑。cookie的路徑用於設定能夠讀取 cookie的頂級目錄。將這
個路徑設定為網站的根目錄,可以讓所有網頁都能互相讀取 cookie (一般不要這樣設定,防止出現衝突) 。
關於cookie的path設定需要注意,如果不設定path:'/'的話,path則會根據目錄自動設定[如:http://www.xxx.com/user/,path會被設定為 '/user']
4.讀取cookie:
$.cookie('the_cookie'); // cookie存在 => 'the_value'
$.cookie('not_existing'); // cookie不存在 => null
6.修改一個cookie 的值
設定方法一樣:
$.cookie('name','新的value',{
path: // 如果當前程式的path和cookie的path不一致,那麼這裡一定要指定path引數
});
6.刪除cookie,通過傳遞null作為cookie的值即可:
這種刪除方式的話,如果到時用$.cookie('the_cookie');獲取的是“null”的字串,如果後臺使用@CookieValue獲取cookie,那麼獲取的cookie的值為“null”的字串,這個“null”字串後臺處理要特別注意
$.cookie('the_cookie', null);
使用$.cookie("token", { expires: -1 })刪除cookie,會出現這情況。
$.cookie("token", { expires: -1 })
其他說明
1.expires: 365
定義cookie的有效時間,值可以是一個數字(從建立cookie時算起,以天為單位)或一個Date 對
象。如果省略,那麼建立的cookie是會話cookie,將在使用者退出瀏覽器時被刪除。
2.path: '/'
預設情況:只有設定cookie的網頁才能讀取該cookie。
定義cookie的有效路徑。預設情況下, 該引數的值為建立 cookie 的網頁所在路徑(標準瀏覽器的行為) 。
如果你想在整個網站中訪問這個cookie需要這樣設定有效路徑:path: '/'。如果你想刪除一個定義
了有效路徑的 cookie,你需要在呼叫函式時包含這個路徑:$.cookie('the_cookie', null,
{ path: '/' });。 domain: 'example.com'
預設值:建立 cookie的網頁所擁有的域名。
3.secure: true
預設值:false。如果為true,cookie的傳輸需要使用安全協議(HTTPS)。
4.raw: true
預設值:false。
預設情況下,讀取和寫入 cookie 的時候自動進行編碼和解碼(使用encodeURIComponent 編碼,
decodeURIComponent 解碼)。要關閉這個功能設定 raw: true 即可。
。######參考文章:
http://www.jianshu.com/p/eb8ca0e991fc
http://www.jb51.net/article/44557.htm
http://www.cnblogs.com/qiao20/p/5729447.html
相關文章
- STL map 詳細用法
- RxLifecycle詳細解析
- 【C#】-Dictionary的詳細用法C#
- String.format()的詳細用法ORM
- CoreLocation框架詳細解析框架
- Semaphore最詳細解析
- Android UI——SpannableString詳細解析AndroidUI
- Hadoop Yarn框架詳細解析HadoopYarn框架
- scala模式匹配詳細解析模式
- MySQL:排序(filesort)詳細解析MySql排序
- linux命令yum的詳細解析Linux
- 網址(URL)的詳細解析
- 超詳細 DNS 協議解析DNS協議
- MyBatis詳細原始碼解析(上篇)MyBatis原始碼
- 【原始碼解析】- ArrayList原始碼解析,絕對詳細原始碼
- 超詳細SAP HANA JOB全解析
- 使用廣播-BroadcastReceiver最詳細解析AST
- PE檔案格式詳細解析(一)
- SAP 中利潤中心 詳細解析
- 關於SAP clienyt copy詳細解析
- OpenIddict 登入及詳細流程解析
- MySQL索引機制(詳細+原理+解析)MySql索引
- 超詳細的Eureka原始碼解析原始碼
- 超詳細的Ribbon原始碼解析原始碼
- CountDownLatch、CyclicBarrier、Semaphore、Exchanger 的詳細解析CountDownLatch
- dnsmasq劫持和dns教程詳細解析DNS
- iOS中Block的用法,示例,應用場景,與底層原理解析(這可能是最詳細的Block解析)iOSBloC
- 詳細解析DES系列加密技術(二)加密
- 詳細解析DES系列加密技術(一)加密
- Hadoop入門(二)之 HDFS 詳細解析Hadoop
- 渲染樹與css解析詳細介紹CSS
- H265 NALU型別詳細解析型別
- PE檔案格式詳細解析(二)--IAT
- CreateThread()與beginthread()的區別詳細解析thread
- Spark Shuffle機制詳細原始碼解析Spark原始碼
- Linux /etc/shadow 超詳細內容解析Linux
- SwiftUI 官方畫圖例項詳細解析SwiftUI
- 詳述盒子模型(包含padding、border、margin的詳細用法和描述)模型padding
- SQL中的case when then else end用法 【詳細】轉載SQL