プラグインのダウンロードとインクルード
「jQuery-URL-Parser」は下記URLからダウンロードできます。
jQuery-URL-Parser – GitHub
jQueryプラグインですのでjQueryも忘れず読み込みます。
html
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" type="text/javascript"></script> <script type="text/javascript" src="jquery.url.js"></script>
URLの取得
以下で現在のURLを取得できます。
javascript
var url = $.url();
引数に直接URLを入れることもできます。
javascript
var url = $.url('http://www.example.com/');
エレメントを指定することで「href」からURLを取得することもできます。
html
<a href="http://www.example.com/">リンク</a>
javascript
var url = $('a').url();
URLの表示
attrメソッドで取得したURLを表示します。
引数に「source」を指定することでURLをそのまま表示します。
alert( url.attr('source') );
この引数を変更することでURLのさまざまな文字列を取得できます。
たとえば下記のようなURLをパースしてみます。
http://www.example.com/folder/dir/index.html?q=value#flug
url.attr('protocol'); // http url.attr('host'); // www.example.com url.attr('relative'); // /folder/dir/index.html?q=value#flug url.attr('path'); // /folder/dir/index.html url.attr('directory'); // /folder/dir/ url.attr('file'); // index.html url.attr('query'); // q=value url.attr('fragment'); // flug
パラメータを取得する
「param」メソッドでURLに付いたパラメータだけ扱うことができます。
var url = $.url('http://www.example.com?name=hoge&age=20').param(); url.name; //hoge url.age; //20
引数に直接パラメータを入れて取り出すこともできます。
var url = $.url('http://www.example.com?name=hoge&age=20'); url.param('name'); //hoge url.param('age'); //20
ディレクトリ階層を取得
「segment」メソッドでディレクトリ階層を配列で取得できます。
var url = $.url('http://www.example.com/folder/dir/example/index.html'); url.segment(); // ["folder", "dir", "example", "index.html"]
引数を指定することで階層を指定して取得できます。
url.segment(1); // folder url.segment(-2); // example
フラグメントパラメータを取得する
「fparam」メソッドを使用することでフラグメントパラメータを取得できます。
var url = $.url('http://example.com/#name=hoge&age=12'); url.fparam('name'); // hoge url.fparam('age'); // 12
スラッシュで句切られたものは「fsegment」を使用します。
var url = $.url('http://example.com/#/about/us/'); url.fsegment(1); // about url.fsegment(2); //us