HTMLHyperlinkElementUtils - 定义了 HTMLAnchorElement 和 HTMLAreaElement 的共用属性和方法
这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
HTMLHyperlinkElementUtils
mixin 定义了 HTMLAnchorElement
和 HTMLAreaElement
一起使用的实用程序方法和属性。这些实用程序允许处理 URL 等常见功能。
没有对象属于该类型,HTMLAnchorElement
和 HTMLAreaElement
实现了它。
属性
注意: 该接口不继承任何属性。
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 的定义 |
现行的标准 | 初始定义 |
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 | 支持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 | 不支持 | 不支持 | 支持 |
toString | 52 | 支持 | 226 | 不支持 | 不支持 | 支持 |
username | 支持4 | 未知 | 268 | 不支持 | 不支持 | 支持 |
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS 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 | 未知 | 不支持 | 支持 |
toString | 52 | 52 | 支持 | 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 之前,HTMLHyperlinkElementUtils
的 pathname
和 search
返回了 URL 的错误部分。例如,对于 http://z.com/x?a=true&b=false
的网址,pathname
将返回 '/x?a=true&b=false'
,search
将返回 '',而不是分别返回 '/x'
和 '?a=true&b=false'
。这已经被修复了。
11. Internet Explorer 实现该属性时不是以 "/"
开头。
相关链接
- 实现这一接口的有:
HTMLAnchorElement
,HTMLAreaElement
。