本方法用于解析一个 URL 和它的相对形式,并且它的相关成分放入一个对象中,方便访问这些 URL 相关成分。当解析相对形式的 URL 时,返回的对象会自动为绝对形式 URL 中没有的成分(如 protocol, host , etc )添加空字符串作为值。另外,当解析的 URL 没有 authority (见下面的列表),返回的对象中的 pathname 属性会包含通信协议冒号后的数据。
$.mobile.path.parseUrl() 只有一个参数 URL (string, 可选) ,其值为一个 URL 的相对或绝对形式。
另外,$.mobile.path.parseUrl() 会返回一个包含 URL 相关成分的对象,这个对象的属性是模仿浏览器中的 location 对象。具体的属性如下:
hash URL 中的一个部分,从 URL 中第一个 “#” 开始的部分。
host URL 的主机名及端口。
hostname URL 的主机名。
href 被解析的原始 URL 。
pathname URL 所引用的文件或目录的路径。
port URL 中指定的端口。大多数 URLs 依赖于数据传输协议所用的默认端口,所以这个值在大多数时候都可能是空字符串。
protocol 数据传输协议,URL 中 ‘:’ 之前的部分。
search URL 中的从 “?” 字符开始的部分,代表 URL 查询。另外它也包括提供给入口的额外成分,如一些常见形式的开发者访问。
authority URL 的用户名,密码,主机名
directory pathname 中的目录部分,并且不包括任何文件名。
domain URL 中的数据传输协议和用户名,密码,主机名等信息,即域。
filename pathname 中的文件部分,并且不包括任何目录名。
hrefNoHash 从原始 URL 中减去 hash 部分。
hrefNoSearch 从原始 URL 中减去 hash 和 search 部分。
password authority 中的 password 部分。
username authority 中的 username 部分。
例子:
// 解析一个 URL
var obj = $.mobile.path.parseUrl("http://jblas:password@mycompany.com:8080/mail/inbox?msg=1234");// 解析这个 URL 会返回一个包含以下属性的对象
// obj.href: http://jblas:password@mycompany.com:8080/mail/inbox?msg=1234&type=unread#msg-content
// obj.hrefNoHash: http://jblas:password@mycompany.com:8080/mail/inbox?msg=1234&type=unread
// obj.hrefNoSearch: http://jblas:password@mycompany.com:8080/mail/inbox
// obj.domain: http://jblas:password@mycompany.com:8080
// obj.protocol: http:
// obj.authority: jblas:password@mycompany.com: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-content
十一. $.mobile.path.makePathAbsolute()










