HTMLHyperlinkElementUtils - 定义了 HTMLAnchorElement 和 HTMLAreaElement 的共用属性和方法

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

HTMLHyperlinkElementUtils mixin 定义了 HTMLAnchorElementHTMLAreaElement 一起使用的实用程序方法和属性。这些实用程序允许处理 URL 等常见功能。

没有对象属于该类型,HTMLAnchorElementHTMLAreaElement 实现了它。

属性

注意: 该接口不继承任何属性。

HTMLHyperlinkElementUtils.href

一个 USVString,包含了整个 URL。

HTMLHyperlinkElementUtils.protocol

一个 USVString,包含 URL 的协议方案,包括最后的 ':'

HTMLHyperlinkElementUtils.host

一个 USVString,包含了 URL 的主机,即 hostname。如果 URL 的 port 不为空,那么它还包含了 ':' 和 URL 的 port

HTMLHyperlinkElementUtils.hostname

一个 USVString,包含 URL 的域名。

HTMLHyperlinkElementUtils.port

一个 USVString,包含 URL 的端口号。

HTMLHyperlinkElementUtils.pathname

一个 USVString,包含一个首字符为 '/',后面跟着是 URL 的路径。

HTMLHyperlinkElementUtils.search

一个 USVString,包含一个首字符为 '?',后面跟着是 URL 的参数。

HTMLHyperlinkElementUtils.hash

一个 USVString,包含一个首字符为 '#',后面跟着是 URL 的片段标识符。

HTMLHyperlinkElementUtils.username

一个 USVString,包含域名前指定的用户名。

HTMLHyperlinkElementUtils.password

一个 USVString,包含在域名之前指定的密码。

HTMLHyperlinkElementUtils.origin 只读

一个 USVString,包含 URL 的源(即其协议,域名和端口)。

方法

注意: 该接口不继承任何方法。

HTMLHyperlinkElementUtils.toString()

一个 DOMString,包含整个 URL。它是 HTMLHyperlinkElementUtils.href 的同义词,但它不能用于修改值。

规范

规范 状态 备注
HTML Living Standard
HTMLHyperlinkElementUtils 的定义
现行的标准 初始定义

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持 支持1 未知2223 不支持 不支持 支持
hash 支持4 支持225 不支持 不支持 支持
host 支持4 支持226 不支持7 不支持 支持
hostname 支持4 支持226 不支持 不支持 支持
href 支持4 支持226 不支持 不支持 支持
origin 支持4 支持2689 不支持 不支持 支持
password 支持4 未知268 不支持 不支持 支持
pathname 支持4 不支持22106 不支持11 不支持 支持
port 支持4 不支持226 不支持 不支持 支持
protocol 支持4 不支持226 不支持 不支持 支持
search 支持4 支持22106 不支持 不支持 支持
toString52 支持226 不支持 不支持 支持
username 支持4 未知268 不支持 不支持 支持

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持 支持1 支持1 未知2223 未知 不支持 支持
hash 支持4 支持4 支持225 未知 不支持 支持
host 支持4 支持4 支持226 未知 不支持 支持
hostname 支持4 支持4 支持226 未知 不支持 支持
href 支持4 支持4 支持226 未知 不支持 支持
origin 支持4 支持4 支持2689 未知 不支持 支持
password 支持4 支持4 未知268 未知 不支持 支持
pathname 支持4 支持4 不支持22106 未知 不支持 支持
port 支持4 支持4 不支持226 未知 不支持 支持
protocol 支持4 支持4 不支持226 未知 不支持 支持
search 支持4 支持4 支持22106 未知 不支持 支持
toString5252 支持226 未知 不支持 支持
username 支持4 支持4 未知268 未知 不支持 支持

1. 从 Chrome 52 开始,该接口的成员已移至 URL 接口。

2. 该 mixin 在 Firefox 45 之前称为 URLUtils,并且还被其他接口(如 Location)实现。从 Firefox 45 开始,其他接口实现了它们自己所需的属性和方法的版本。

3. Firefox 之前有一个 bug,当通过 URL API 访问时,URL 中包含的单个内容被转义(bug 1386683)。

4. 从 Chrome 52 开始,该属性已移至 URL 接口

5. 从 Firefox 22 到 Firefox 44,该属性属于 URLUtils mixin。它已经在被移到了 HTMLHyperlinkElementUtils mixin 或相应的接口上。此外,从 Firefox 29 到 Firefox 40,返回的值被错误地进行百分比解码。

6. 从 Firefox 22 到 Firefox 44,该属性属于 URLUtils mixin。它已经在被移到了 HTMLHyperlinkElementUtils mixin 或相应的接口上。

7. 在 Internet Explorer 9 中,即使 <a> href 属性值中没有显式端口,host 也始终包含端口(例如 developer.mozilla.org:443)。

8. 从 Firefox 26 到 Firefox 44,该属性属于 URLUtils mixin。它已经在被移到了 HTMLHyperlinkElementUtils mixin 或相应的接口上。

9. 在 Firefox 49 之前,使用 blob 协议的 URL 结果错误地返回 null

10. 在 Firefox 53 之前,HTMLHyperlinkElementUtilspathnamesearch 返回了 URL 的错误部分。例如,对于 http://z.com/x?a=true&b=false 的网址,pathname 将返回 '/x?a=true&b=false'search 将返回 '',而不是分别返回 '/x''?a=true&b=false'。这已经被修复了。

11. Internet Explorer 实现该属性时不是以 "/" 开头。

相关链接