$.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