Edition for Web Developers — Last Updated 17 December 2024
Navigator
objectSupport in all current engines.
Instances of Navigator
represent the identity and state of the user agent (the
client). It has also been used as a generic global under which various APIs are located, but this
is not precedent to build upon. Instead use the WindowOrWorkerGlobalScope
mixin or
equivalent.
In certain cases, despite the best efforts of the entire industry, web browsers have bugs and limitations that web authors are forced to work around.
This section defines a collection of attributes that can be used to determine, from script, the kind of user agent in use, in order to work around these issues.
Client detection should always be limited to detecting known current versions; future versions and unknown versions should always be assumed to be fully compliant.
self.navigator.
Returns the string "Mozilla
".
self.navigator.
Returns the string "Netscape
".
self.navigator.
Returns the version of the browser.
self.navigator.
Returns the name of the platform.
self.navigator.
Returns the string "Gecko
".
window.navigator.
Returns either the string "20030107
", or the string "20100101
".
self.navigator.
Returns the complete `User-Agent
` header.
window.navigator.
Returns either the empty string, the string "Apple Computer, Inc.
",
or the string "Google Inc.
".
window.navigator.
Returns the empty string.
self.navigator.
Returns a language tag representing the user's preferred language.
self.navigator.
Returns an array of language tags representing the user's preferred languages, with the most preferred language first.
The most preferred language is the one returned by navigator.language
.
A languagechange
event is fired at the
Window
or WorkerGlobalScope
object when the user agent's understanding
of what the user's preferred languages are changes.
self.navigator.
Returns false if the user agent is definitely offline (disconnected from the network). Returns true if the user agent might be online.
The events online
and offline
are fired when the value of this attribute changes.
This attribute is inherently unreliable. A computer can be connected to a network without having Internet access.
In this example, an indicator is updated as the browser goes online and offline.
<!DOCTYPE HTML>
< html lang = "en" >
< head >
< title > Online status</ title >
< script >
function updateIndicator() {
document. getElementById( 'indicator' ). textContent = navigator. onLine ? 'online' : 'offline' ;
}
</ script >
</ head >
< body onload = "updateIndicator()" ononline = "updateIndicator()" onoffline = "updateIndicator()" >
< p > The network is: < span id = "indicator" > (state unknown)</ span >
</ body >
</ html >
registerProtocolHandler()
methodNavigator/registerProtocolHandler
window.navigator. (scheme, url)
Registers a handler for scheme at url. For example, an online telephone
messaging service could register itself as a handler of the sms:
scheme, so that if the user clicks on such a link, they are given the
opportunity to use that web site. [SMS]
The string "%s
" in url is used as a placeholder for where
to put the URL of the content to be handled.
Throws a "SecurityError
" DOMException
if the user
agent blocks the registration (this might happen if trying to register as a handler for "http
", for instance).
Throws a "SyntaxError
" DOMException
if the "%s
" string is missing in url.
window.navigator. (scheme, url)
Unregisters the handler given by the arguments.
Throws a "SecurityError
" DOMException
if the user
agent blocks the deregistration (this might happen if with invalid schemes, for instance).
Throws a "SyntaxError
" DOMException
if the "%s
" string is missing in url.
window.navigator.
Returns false if setting a cookie will be ignored, and true otherwise.
window.navigator.
Support in all current engines.
Returns true if the user agent supports inline viewing of PDF files when navigating to them, or false otherwise. In the latter case, PDF files will be handled by external software.