个性化阅读
专注于IT技术分析

JS窗口导航器navigator – JavaScript教程

上一章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>
赞(0)
未经允许不得转载:srcmini » JS窗口导航器navigator – JavaScript教程

评论 抢沙发

评论前必须登录!