2015年11月16日 星期一

透過 Javascript 存取 cookie 的方法 (用 rails 的話超簡單!)

透過 Javascript 存取 cookie 的方法 (用 rails 的話超簡單!)

今天我是一個 rails 的使用者,請教 google 大神到底要怎麼在 javascript 存取 cookie,goo 了很久,一堆人都說阿就 $.cookie('name'),看起來是 jQuery 的東西,我也在 rails 中裝了 jQuery 但就是顯示 $.cookie is not a function

後來才發現,幹原來是要另外裝 jquery-cookie 才能用。然後這個 project 還搬家變成 js-cookie 了,看名字應該是擺脫 jQuery 的束縛了。

如果是 rails 的話直接用 gem 裝 jquery-cookie-railsjs_cookie_rails 就可以了。用後者的話基本上就是在 Gemfile 加上

gem 'js_cookie_rails'

然後 bundle install 再去 app/assets/javascripts/application.js 裡面加上

//= require js.cookie

就可以開始用他的指令去存取 cookie 了,下面簡單的介紹基本的,要注意的是生命期限預設單位是天。

// 設定 cookie
Cookies.set('name', 'value');

// 設定 cookie 生命期限 7 天
Cookies.set('name', 'value', { expires: 7 });

// 設定 cookie 生命期限 30 秒
var date = new Date();
date.setTime( date.getTime() + ( 30 * 1000 ));
$.cookie( "hoge", "30 seconds", { expires: date });

// 取得 cookie,若無此 cookie 會回傳 null
Cookies.get('name');

// 刪除 cookie
Cookies.remove('name');

Reference
jquery.cookie.jsの使い方とCOOKIEの寿命(保存期間)を秒・分・時間で指定する方法

Written with StackEdit.

沒有留言:

張貼留言