上一章JavaScript教程请查看:JS窗口历史对象history
在本教程中,你将了解JavaScript窗口导航器对象。
Navigator对象
窗口的navigator属性(即window.navigator)是对navigator对象的引用;它是一个只读属性,包含有关用户浏览器的信息。
由于窗口是一个全局对象,并且它位于范围链的顶部,所以窗口对象的window.navigator属性可以在没有window.前綴的情况下访问,例如window.navigator.language可以写成navigator.language。
下面的部分将向你展示如何获取有关用户浏览器的各种信息。
检测浏览器是在线还是离线
你可以使用navigator.onLine属性以检测浏览器(或应用程序)是联机还是脱机,此属性返回一个布尔值,“在线”表示true,“离线”表示false。
<script>
function checkConnectionStatus() {
if(navigator.onLine) {
alert("应用程序是在线的.");
} else {
alert("应用程序是离线的.");
}
}
</script>
<button type="button" onclick="checkConnectionStatus();">检查连接状态</button>
当连接建立或丢失时,浏览器将触发联机和脱机事件,你可以将处理程序函数附加到这些事件,以便为在线和离线场景定制应用程序。
让我们看看下面的JavaScript代码,看看它是如何工作的:
<script>
function goOnline() {
// 当应用程序上线时要执行的操作
alert("我们回来了!");
}
function goOffline() {
// 应用程序离线时要执行的操作
alert("嘿,看起来你离线了.");
}
// 为在线事件附加事件处理程序
window.addEventListener("online", goOnline);
// 为脱机事件附加事件处理程序
window.addEventListener("offline", goOffline);
</script>
<p>切换你的互联网连接,看看它是如何工作.</p>
上面示例中的goOffline()函数将在连接脱机时由浏览器自动调用,而goOnline()函数将在连接状态变为联机时由浏览器自动调用。
检查cookie是否已启用
你可以使用导航器。检查cookies是否在用户的浏览器中启用。如果启用cookie,此属性将返回一个布尔值true,如果不启用cookie,则返回false。
<script>
function checkCookieEnabled() {
if(navigator.cookieEnabled) {
alert("Cookies已在浏览器中启用");
} else {
alert("Cookies在您的浏览器中被禁用");
}
}
</script>
<button type="button" onclick="checkCookieEnabled();">检查Cookies是否启用</button>
提示: 你应该使用 navigator.cookieEnabled,在JavaScript代码中创建或使用cookie之前,确定cookie是否已启用。
检测浏览器语言
你可以使用导航器,语言属性检测浏览器UI的语言。
此属性返回表示语言的字符串,例如“en”,“en – us”等。
<script>
function checkLanguage() {
alert("浏览器的UI语言是: " + navigator.language);
}
</script>
<button type="button" onclick="checkLanguage();">检查语言</button>
获取浏览器名称和版本信息
Navigator对象有五个主要属性,它们提供关于用户浏览器的名称和版本信息。以下列表提供了这些属性的简要概述:
- appName – 返回浏览器的名称。在任何浏览器中,它总是返回“Netscape”。
- appVersion – 返回浏览器的版本号和其他信息。
- appCodeName,返回浏览器的代码名。它返回所有浏览器的“Mozilla”。
- userAgent——返回当前浏览器的用户代理字符串。此属性通常包含appName和appVersion中的所有信息。
- platform – 返回运行浏览器的平台(例如“Win32”、“WebTV OS”等)
从上面的描述中可以看出,这些属性返回的值具有误导性且不可靠,因此不要使用它们来确定用户的浏览器类型和版本。
<script>
function getBrowserInformation() {
var info = "\n App Name: " + navigator.appName;
info += "\n App Version: " + navigator.appVersion;
info += "\n App Code Name: " + navigator.appCodeName;
info += "\n User Agent: " + navigator.userAgent;
info += "\n Platform: " + navigator.platform;
alert("这是与你的浏览器相关的信息: " + info);
}
</script>
<button type="button" onclick="getBrowserInformation();">获取浏览器信息</button>
检查浏览器是否启用了Java
你可以使用javaEnabled()方法来检查当前浏览器是否启用了java。
此方法仅指示控制Java的首选项是打开还是关闭,而不显示浏览器是否提供Java支持或Java是否安装在用户的系统上。
<script>
function checkJavaEnabled() {
if(navigator.javaEnabled()) {
alert("你的浏览器启用了Java.");
} else {
alert("你的浏览器没有启用Java");
}
}
</script>
<button type="button" onclick="checkJavaEnabled();">检查Java是否启用</button>
评论前必须登录!
注册