URLのハッシュフラグメントを操作するjQueryライブラリ "jQuery.locationHash"

概要

このjQueryプラグインは、ハッシュフラグメントパラメーターの追加や削除・解析を行うためのプラグインです。
非同期通信系の画面を作る際に威力を発揮するプラグインなんです。
Google Ajax Crawlerに対応したりする為には結構必須のプラグインだったり。

Google Ajax Crawlerに関しては以下のリンクを参照。

対応ブラウザ

以下のブラウザに対応するように実装されています。

  • Internet Explorer 6.0以上
  • Firefox 3.0以上
  • Google Chrome
  • Safari

ダウンロード

当ライブラリはgithubで管理していますので、こちらからDLしてください。
srcの中にあるmin.jsを使えばOKです。

バージョン情報

1.0.0 一般公開

ライセンス

当jQueryライブラリはMITライセンスにてオープンソース提供を行っています。

設定方法

ハッシュフラグメントの区切りはデフォルトGETパラメーターに準拠しています。

  • キーとキーの区切り文字:&
  • キーと値の区切り文字:=
  • 値と値の区切り文字:|

この値を書き換える場合は$.locationHashオブジェクトの以下の値を書き換えてください。

書き換える項目 キー名 デフォルト値
キーとキーの区切り文字 str_separaterKeyKey &
キーと値の区切り文字 str_separaterKeyValue =
値と値の区切り文字 str_separaterValueValue |

利用可能な関数(オブジェクト)一覧

・$.locationHash
 ハッシュフラグメントの区切り文字を定義してあるオブジェクト。
 

・$.locationHashParameter(key,value)
 keyに対するvalue値を指定する。Key,Value双方指定しないと動作しない。
 同一Keyに対して複数のValue値を定義可能。また、既に定義してあるKeyValue値で関数を実行した場合は値の削除が実行される。
 
 

 //例:li要素をクリックした時にクリック要素のID名をkeyに、value値を1としてセットする
$("li").click(function(){
   $.locationHashParameter($(this).attr("id"),1);
 });

・$.fn.getLocationHash(option)
 特定要素配下にあるinput要素を取得してハッシュフラグメント文字列を生成する。
 生成した文字列は戻り値として受け取れる。
 引数にオブジェクト型で値の生成ルールを定義できる。

mergeParam 値はArrayで定義 セットしたキー名は複数の値を持つことが可能。複数の値を持つ場合、nameのつけ方は「key名__値」という風にすること
ignoreParam 値はArrayで定義 セットしたキー名は処理をしないことが可能

 

//formの中に含まれているinput要素を取得してハッシュフラグメント文字列を生成
//ただし、hogeが含まれるname要素はマージ対象、fugaというname要素は無視する。
$("form").getLocationHash({mergeParam:["hoge"],ignoreParam:["fuga"]});

・$.getParameterFromLocationHash()
 ハッシュフラグメントURLを解析しパラメータオブジェクトを返却する。

// 例えばハッシュフラグメントが #!hoge=1&fuga=1の場合
$.getParameterFromLocationHash()
// -> {"hoge":1,"fuga":1}