jquery jquerycookie.js で配列を使う

2012年12月12日更新 view: 3 view

まずは普通の使い方

//クッキー名 name を 変数 name に格納
    var name = $.cookie('name');
    
    //name というクッキーを削除
    $.cookie('name','',{ expires: 0 }); //cookie削除
    
    //name に ひでまん をセット (有効期限 365日 )
    $.cookie('name','ひでまん',{ expires: 365 });
スポンサードリンク

条件

jquery及び、jquery.cookie.js が入っている事。

siteListのクッキーを読み込み。 あれば データを読み込み。 そしてシリアライズを配列に戻す。

なければ、配列新規作成。

保存時は、配列を シリアライズ化して保存する。

<script type="text/javascript">

var parseUrl = 'http://www.hoge.co.jp';
$(function() {

jQuery.extend({
  stringify : function stringify(obj) {
   var t = typeof (obj);
   if (t != "object" || obj === null) {
    // simple data type
    if (t == "string") {
     obj = '"' + obj + '"';
    }
    return String(obj);
   }
   else {
    // recurse array or object
    var n, v, json = [], arr = (obj && obj.constructor == Array);
 
    for (n in obj) {
     v = obj[n];
     t = typeof(v);
     if (obj.hasOwnProperty(n)) {
      if (t == "string") {
       v = '"' + v + '"';
      }
      else if (t == "object" && v !== null) {
       v = jQuery.stringify(v);
      }
      json.push((arr ? "" : '"' + n + '":') + String(v));
     }
    }
    return (arr ? "[" : "{") + String(json) + (arr ? "]" : "}");
   }
  }
});



if($.cookie("siteList")){
  siteList = $.cookie("siteList");
  siteList = $.parseJSON(siteList);//jsonを配列に
} else {
  siteList = new Array();
}



//配列内になければ
if($.inArray(parseUrl,siteList) < 0){
  //新規追加
  siteList.push(parseUrl);//配列先頭に追加
 
  //配列をjsonにして上書き
  $.cookie("siteList",$.stringify(siteList), { expires: 700 });
  alert(siteList);
}

});
</script>

こんな感じ。

スポンサードリンク

関連記事

関連カテゴリ

コロ助

web関連の記事や制作系の記事をどんどんまとめていきます。 宜しくお願いします!

ピックアップ

パソコン・ソフトウェア ランキング

9月20日 ( 木 ) にアクセスが多かった記事はこちら!