$.mobile.path.parseUrl()

URLをパースして様々なパーツに分解し、操作や情報取得を容易にするユーティリティ・メソッドです。たとえばプロトコルやホスト部分など、URLに情報が含まれていない場合には、結果オブジェクトの該当するプロパティは空文字になります。また、パースしたURLが、たとえば tel: のようにオーソリティを持っていないような場合、結果オブジェクトの pathname プロパティはプロトコル/スキームのコロン以降の値を持つようになります。

引数

url string, 必須
相対/絶対URLです。

戻り値

関数は、URLを様々な角度でパースした結果セットを持つオブジェクトを返します。オブジェクトのプロパティは、ブラウザの location オブジェクトを真似て用意されています。

hash
URLのハッシュ部分。ハッシュ先頭の "#" も含まれます。
host
URLのホスト名とポート番号。
hostname
URLのホスト名。
href
パースした元のURL。
pathname
URLのファイルやディレクトリ部分のパス。
port
URLのポート番号。多くの場合URLはプロトコルが使うデフォルトのポート番号を使うものとして指定を省略ます。そのため、ここは空文字になることが多いでしょう。
protocol
URLのURLのプロトコル。末尾の ":" も含まれます。
search
URLの "?" に続くクエリ部分。
authority
URLに指定されたユーザ名、パスワード、ホスト。
directory
pathnameからファイル名を除いたディレクトリ部分。
domain
URLのプロトコルとオーソリティ部分。
filename
pathnameからディレクトリ部分を除いたファイル名部分。
hrefNoHash
オリジナルのURL(href)からハッシュ部分(hash)を除いたもの。
hrefNoSearch
オリジナルのURL(href)からクエリ部分(search)とハッシュ部分(hash)を除いたもの。
password
オーソリティ部分に含まれるパスワード部分。
username
オーソリティ部分に含まれるユーザ名部分。

サンプル

次のようにURLをパースさせると、

var obj = $.mobile.path.parseUrl("http://jblas::8080/mail/inbox?msg=1234");

結果オブジェクトは次のようになります。

//  obj.href:         http://jblas::8080/mail/inbox?msg=1234&type=unread#msg-content
//  obj.hrefNoHash:   http://jblas::8080/mail/inbox?msg=1234&type=unread
//  obj.hrefNoSearch: http://jblas::8080/mail/inbox
//  obj.domain:       http://jblas::8080
//  obj.protocol:     http:
//  obj.authority:    jblas::8080
//  obj.username:     jblas
//  obj.password:     password
//  obj.host:         mycompany.com:8080
//  obj.hostname:     mycompany.com
//  obj.port:         8080
//  obj.pathname:     /mail/inbox
//  obj.directory:    /mail/
//  obj.filename:     inbox
//  obj.search:       ?msg=1234&type=unread
//  obj.hash:         #msg-conten

テストツール