W3cubDocs

/DOM

HTMLHyperlinkElementUtils

This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The HTMLHyperlinkElementUtils mixin defines utility methods and properties to work with HTMLAnchorElement and HTMLAreaElement. These utilities allow to deal with common features like URLs.

There are no objects of this type, but several objects HTMLAnchorElement and HTMLAreaElement implement it.

Properties

Note: This interface doesn't inherit any property.

HTMLHyperlinkElementUtils.href
This is a USVString containing the whole URL.
HTMLHyperlinkElementUtils.protocol
This is a USVString containing the protocol scheme of the URL, including the final ':'.
HTMLHyperlinkElementUtils.host
This is a USVString containing the host, that is the hostname, and then, if the port of the URL is not empty (which can happen because it was not specified or because it was specified to be the default port of the URL's scheme), a ':', and the port of the URL.
HTMLHyperlinkElementUtils.hostname
This is a USVString containing the domain of the URL.
HTMLHyperlinkElementUtils.port
This is a USVString containing the port number of the URL.
HTMLHyperlinkElementUtils.pathname
This is a USVString containing an initial '/' followed by the path of the URL.
HTMLHyperlinkElementUtils.search
This is a USVString containing a '?' followed by the parameters of the URL.
HTMLHyperlinkElementUtils.hash
This is a USVString containing a '#' followed by the fragment identifier of the URL.
HTMLHyperlinkElementUtils.username
This is a USVString containing the username specified before the domain name.
HTMLHyperlinkElementUtils.password
This is a USVString containing the password specified before the domain name.
HTMLHyperlinkElementUtils.origin Read only
This returns a USVString containing the origin of the URL (that is its scheme, its domain and its port).

Methods

Note: This interface doesn't inherit any method.

HTMLHyperlinkElementUtils.toString()
This returns a DOMString containing the whole URL. It is a synonym for HTMLHyperlinkElementUtils.href, though it can't be used to modify the value.

Specifications

Specification Status Comment
HTML Living Standard
The definition of 'HTMLHyperlinkElementUtils' in that specification.
Living Standard Initial definition

Browser compatibilityUpdate compatibility data on GitHub

Desktop
Chrome Edge Firefox Internet Explorer Opera Safari
Basic support Yes
Yes
Starting in Chrome 52, the members of this interface were moved to URL
? 22
22
This mixin was called URLUtils before Firefox 45, and was also implemented to other by other interfaces, like Location. From Firefox 45, the other interfaces implement their own version of the properties and methods they need.
Firefox was a bug whereby single contained in URLs are escaped when accessed via URL APIs (bug 1386683). This has been as of Firefox 57.
No No No
hash Yes
Yes
Starting in Chrome 52, this property was moved to URL
Yes 22
22
From Firefox 22 to Firefox 44, this property was on the URLUtils mixin. It has been moved either on the HTMLHyperlinkElementUtils mixin, or directly on the interface. Also, from Firefox 29 to Firefox 40, the returned value was incorrectly percent-decoded.
No No No
host Yes
Yes
Starting in Chrome 52, this property was moved to URL
Yes 22
22
From Firefox 22 to Firefox 44, this property was on the URLUtils mixin. It has been moved either on the HTMLHyperlinkElementUtils mixin, or directly on the interface.
No
No
In Internet Explorer 9, the host of an always include the port (e.g. developer.mozilla.org:443), even if there is no explicit port in the href attribute value.
No No
hostname Yes
Yes
Starting in Chrome 52, this property was moved to URL
Yes 22
22
From Firefox 22 to Firefox 44, this property was on the URLUtils mixin. It has been moved either on the HTMLHyperlinkElementUtils mixin, or directly on the interface.
No No No
href Yes
Yes
Starting in Chrome 52, this property was moved to URL
Yes 22
22
From Firefox 22 to Firefox 44, this property was on the URLUtils mixin. It has been moved either on the HTMLHyperlinkElementUtils mixin, or directly on the interface.
No No No
origin Yes
Yes
Starting in Chrome 52, this property was moved to URL
Yes 26
26
From Firefox 26 to Firefox 44, this property was on the URLUtils mixin. It has been moved either on the HTMLHyperlinkElementUtils mixin, or directly on the interface.
Before Firefox 49, results for URL using the blob scheme incorrectly returned null.
No No No
password Yes
Yes
Starting in Chrome 52, this property was moved to URL
? 26
26
From Firefox 26 to Firefox 44, this property was on the URLUtils mixin. It has been moved either on the HTMLHyperlinkElementUtils mixin, or directly on the interface.
No No No
pathname Yes
Yes
Starting in Chrome 52, this property was moved to URL
No 22
22
From Firefox 22 to Firefox 44, this property was on the URLUtils mixin. It has been moved either on the HTMLHyperlinkElementUtils mixin, or directly on the interface.
Before Firefox 53, the pathname and search HTMLHyperlinkElementUtils properties returned the wrong parts of the URL. For example, for a URL of http://z.com/x?a=true&b=false, pathname would return '/x?a=true&b=false' and search would return '', rather than '/x' and '?a=true&b=false' respectively. This has now been fixed.
No No No
port Yes
Yes
Starting in Chrome 52, this property was moved to URL
No 22
22
From Firefox 22 to Firefox 44, this property was on the URLUtils mixin. It has been moved either on the HTMLHyperlinkElementUtils mixin, or directly on the interface.
No No No
protocol Yes
Yes
Starting in Chrome 52, this property was moved to URL
No 22
22
From Firefox 22 to Firefox 44, this property was on the URLUtils mixin. It has been moved either on the HTMLHyperlinkElementUtils mixin, or directly on the interface.
No No No
search Yes
Yes
Starting in Chrome 52, this property was moved to URL
Yes 22
22
From Firefox 22 to Firefox 44, this property was on the URLUtils mixin. It has been moved either on the HTMLHyperlinkElementUtils mixin, or directly on the interface.
Before Firefox 53, the pathname and search HTMLHyperlinkElementUtils properties returned the wrong parts of the URL. For example, for a URL of http://z.com/x?a=true&b=false, pathname would return '/x?a=true&b=false' and search would return '', rather than '/x' and '?a=true&b=false' respectively. This has now been fixed.
Yes Yes Yes
toString 52 Yes 22
22
From Firefox 22 to Firefox 44, this property was on the URLUtils mixin. It has been moved either on the HTMLHyperlinkElementUtils mixin, or directly on the interface.
No No No
username Yes
Yes
Starting in Chrome 52, this property was moved to URL
? 26
26
From Firefox 26 to Firefox 44, this property was on the URLUtils mixin. It has been moved either on the HTMLHyperlinkElementUtils mixin, or directly on the interface.
No No No
Mobile
Android webview Chrome for Android Edge Mobile Firefox for Android Opera for Android iOS Safari Samsung Internet
Basic support Yes
Yes
Starting in Chrome 52, the members of this interface were moved to URL
Yes
Yes
Starting in Chrome 52, the members of this interface were moved to URL
? 22
22
This mixin was called URLUtils before Firefox 45, and was also implemented to other by other interfaces, like Location. From Firefox 45, the other interfaces implement their own version of the properties and methods they need.
Firefox was a bug whereby single contained in URLs are escaped when accessed via URL APIs (bug 1386683). This has been as of Firefox 57.
No No ?
hash Yes
Yes
Starting in Chrome 52, this property was moved to URL
Yes
Yes
Starting in Chrome 52, this property was moved to URL
Yes 22
22
From Firefox 22 to Firefox 44, this property was on the URLUtils mixin. It has been moved either on the HTMLHyperlinkElementUtils mixin, or directly on the interface. Also, from Firefox 29 to Firefox 40, the returned value was incorrectly percent-decoded.
No No ?
host Yes
Yes
Starting in Chrome 52, this property was moved to URL
Yes
Yes
Starting in Chrome 52, this property was moved to URL
Yes 22
22
From Firefox 22 to Firefox 44, this property was on the URLUtils mixin. It has been moved either on the HTMLHyperlinkElementUtils mixin, or directly on the interface.
No No ?
hostname Yes
Yes
Starting in Chrome 52, this property was moved to URL
Yes
Yes
Starting in Chrome 52, this property was moved to URL
Yes 22
22
From Firefox 22 to Firefox 44, this property was on the URLUtils mixin. It has been moved either on the HTMLHyperlinkElementUtils mixin, or directly on the interface.
No No ?
href Yes
Yes
Starting in Chrome 52, this property was moved to URL
Yes
Yes
Starting in Chrome 52, this property was moved to URL
Yes 22
22
From Firefox 22 to Firefox 44, this property was on the URLUtils mixin. It has been moved either on the HTMLHyperlinkElementUtils mixin, or directly on the interface.
No No ?
origin Yes
Yes
Starting in Chrome 52, this property was moved to URL
Yes
Yes
Starting in Chrome 52, this property was moved to URL
Yes 26
26
From Firefox 26 to Firefox 44, this property was on the URLUtils mixin. It has been moved either on the HTMLHyperlinkElementUtils mixin, or directly on the interface.
Before Firefox 49, results for URL using the blob scheme incorrectly returned null.
No No ?
password Yes
Yes
Starting in Chrome 52, this property was moved to URL
Yes
Yes
Starting in Chrome 52, this property was moved to URL
? 26
26
From Firefox 26 to Firefox 44, this property was on the URLUtils mixin. It has been moved either on the HTMLHyperlinkElementUtils mixin, or directly on the interface.
No No ?
pathname Yes
Yes
Starting in Chrome 52, this property was moved to URL
Yes
Yes
Starting in Chrome 52, this property was moved to URL
No 22
22
From Firefox 22 to Firefox 44, this property was on the URLUtils mixin. It has been moved either on the HTMLHyperlinkElementUtils mixin, or directly on the interface.
Before Firefox 53, the pathname and search HTMLHyperlinkElementUtils properties returned the wrong parts of the URL. For example, for a URL of http://z.com/x?a=true&b=false, pathname would return '/x?a=true&b=false' and search would return '', rather than '/x' and '?a=true&b=false' respectively. This has now been fixed.
No No ?
port Yes
Yes
Starting in Chrome 52, this property was moved to URL
Yes
Yes
Starting in Chrome 52, this property was moved to URL
No 22
22
From Firefox 22 to Firefox 44, this property was on the URLUtils mixin. It has been moved either on the HTMLHyperlinkElementUtils mixin, or directly on the interface.
No No ?
protocol Yes
Yes
Starting in Chrome 52, this property was moved to URL
Yes
Yes
Starting in Chrome 52, this property was moved to URL
No 22
22
From Firefox 22 to Firefox 44, this property was on the URLUtils mixin. It has been moved either on the HTMLHyperlinkElementUtils mixin, or directly on the interface.
No No ?
search Yes
Yes
Starting in Chrome 52, this property was moved to URL
Yes
Yes
Starting in Chrome 52, this property was moved to URL
Yes 22
22
From Firefox 22 to Firefox 44, this property was on the URLUtils mixin. It has been moved either on the HTMLHyperlinkElementUtils mixin, or directly on the interface.
Before Firefox 53, the pathname and search HTMLHyperlinkElementUtils properties returned the wrong parts of the URL. For example, for a URL of http://z.com/x?a=true&b=false, pathname would return '/x?a=true&b=false' and search would return '', rather than '/x' and '?a=true&b=false' respectively. This has now been fixed.
Yes Yes ?
toString 52 52 Yes 22
22
From Firefox 22 to Firefox 44, this property was on the URLUtils mixin. It has been moved either on the HTMLHyperlinkElementUtils mixin, or directly on the interface.
No No ?
username Yes
Yes
Starting in Chrome 52, this property was moved to URL
Yes
Yes
Starting in Chrome 52, this property was moved to URL
? 26
26
From Firefox 26 to Firefox 44, this property was on the URLUtils mixin. It has been moved either on the HTMLHyperlinkElementUtils mixin, or directly on the interface.
No No ?

See also

© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/HTMLHyperlinkElementUtils