面向 Web 开发人员版本 — 最后更新于 2024 年 9 月 12 日
Navigator
对象在所有当前引擎中支持。
Navigator
实例代表了用户代理(客户端)的身份和状态。它们也作为一种通用的全局对象,在此规范和其他规范中定位了各种 API。
在某些情况下,尽管整个行业付出了最大的努力,但 Web 浏览器仍然存在错误和限制,Web 作者被迫绕过这些问题。
本节定义了一组属性,可用于通过脚本确定正在使用的用户代理类型,以便绕过这些问题。
客户端检测应始终限于检测已知的当前版本;应始终假设将来版本和未知版本完全符合标准。
self.navigator.
返回字符串“Mozilla
”。
self.navigator.
返回字符串“Netscape
”。
self.navigator.
返回浏览器的版本。
self.navigator.
返回平台的名称。
self.navigator.
返回字符串“Gecko
”。
window.navigator.
返回字符串“20030107
”或字符串“20100101
”。
self.navigator.
返回完整的`User-Agent
` 标头。
window.navigator.
返回空字符串、字符串“Apple Computer, Inc.
”或字符串“Google Inc.
”。
window.navigator.
返回空字符串。
self.navigator.
返回表示用户首选语言的语言标签。
self.navigator.
返回表示用户首选语言的语言标签数组,最优语言位于首位。
最优语言是 navigator.language
返回的语言。
当用户代理对用户首选语言的理解发生变化时,会在 Window
或 WorkerGlobalScope
对象上触发 languagechange
事件。
self.navigator.
如果用户代理绝对处于离线状态(与网络断开连接),则返回 false。如果用户代理可能在线,则返回 true。
此属性本质上不可靠。计算机可以连接到网络,但没有互联网访问权限。
在此示例中,指示器会随着浏览器在线和离线而更新。
<!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()
方法Navigator/registerProtocolHandler
window.navigator. (scheme, url)
为 scheme 注册一个在 url 上的处理程序。例如,在线电话消息服务可以将自己注册为 sms:
方案的处理程序,以便如果用户单击此类链接,他们将有机会使用该网站。 [SMS]
字符串“%s
”在 url 中用作占位符,用于放置要处理的内容的 URL。
如果用户代理阻止注册(例如,尝试将自己注册为“http
”的处理程序),则会抛出 "SecurityError
" DOMException
。
如果 url 中缺少“%s
”字符串,则会抛出 "SyntaxError
" DOMException
。
window.navigator. (scheme, url)
取消注册由参数给出的处理程序。
如果用户代理阻止取消注册(例如,使用无效的方案),则会抛出 "SecurityError
" DOMException
。
如果 url 中缺少“%s
”字符串,则会抛出 "SyntaxError
" DOMException
。
window.navigator.
如果设置 Cookie 将被忽略,则返回 false,否则返回 true。