ページング via location.hash

| コメント(0) | トラックバック(0)



以前最速インターフェース研究所で見たlocation.hashでパラメターを引き連れて行く方法でajaxを使ってるページのページングを実装してみた。基本的には、ページ移動をした時に



location.hash += 'p=' + page;

みたいにして連れて行くだけ。あとは現在のページを知るのに、以下のようなオブジェクトを定義して、



NikkiSite.LocationHash = function() {
this.parseHash = function(h) {
var list = h.split(/&/);
for(i = 0; i < list.length; i++) {
var chunk = list[i];
pair = chunk.split(/=/);
this.param[pair[0 = pair[1];
}
};
this.hash = location.hash;
this.hash = this.hash.replace(/^#/, '');
this.param = {};
this.parseHash(this.hash);
};

こんな感じでページをしてxmlHttpRequestを投げる:



var hash = new NikkiSite.LocationHash();
var app_uri = '/hoge.app?p=' + hash.param['p'];
new Ajax.Request (app_uri);

これで他のページにページ移動しても#p=1みたいな感じにページが常に残る。


Author

Daisuke Maki (a.k.a lestrrat): Perl hacker, Director of Japan Perl Association, YAPC::Asia Tokyo Organizer (2009-2012), Fluent in Japanese, English. Ex-Brazilian (sorta)

#perl #c #ruby #java #mysql #english #japanese #opensource #stf #cooking #scotch #cigar


このエントリーをはてなブックマ
ークに追加

翔泳社よりモダンPerl入門(2010)を出版させていただいております。できれば内容をアップデートしたいので是非皆様・・・現在の在庫処理にお力をお貸しください!><

月別アーカイブ