Hatena::ブログ(Diary)

文殊堂 このページをアンテナに追加 RSSフィード Twitter

2008-07-24

JavaScriptでcookieを操作する時はjquery.cookie.jsを使おう

↓でtxtファイルとしてダウンロードできる。

no title

使い方はデモを触ってみてソース見るとか、

jquery.cookie.jsのソースのコメントの@exampleを見るとかすればいいと思うけど簡単に説明しておくと、

基本的には$.cookie(クッキー名);で値の取得、$.cookie(クッキー名,値);で値の設定が出来て、

第3引数でoptionがいろいろ指定できる。

$.cookie(クッキー名,値,{ expires: 日数, path: '/', domain: ドメイン});とか。

expiresをDateオブジェクトだけじゃなくて日数の数値としても指定できる(というか基本的にこっちを使うはず)。


jQuery pluginだけど$.関数名で使う関数であり、

依存しているjQueryの機能がjQuery.trim関数だけなので、

↓のように2行変更すればjQuery非依存のcookie操作関数に変えられる。

@@ -53,7 +53,7 @@
  * @cat Plugins/Cookie
  * @author Klaus Hartl/klaus.hartl@stilbuero.de
  */
-jQuery.cookie = function(name, value, options) {
+cookie = function(name, value, options) {
     if (typeof value != 'undefined') { // name and value given, set cookie
         options = options || {};
         if (value === null) {
@@ -83,7 +83,7 @@
         if (document.cookie && document.cookie != '') {
             var cookies = document.cookie.split(';');
             for (var i = 0; i < cookies.length; i++) {
-                var cookie = jQuery.trim(cookies[i]);
+                var cookie = (cookies[i] || "").replace( /^\s+|\s+$/g, "" );
                 // Does this cookie string begin with the name we want?
                 if (cookie.substring(0, name.length + 1) == (name + '=')) {
                     cookieValue = decodeURIComponent(cookie.substring(name.length + 1));

jQueryユーザにもそうでない人にもとてもお勧め

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証