📜  检查浏览器 - Javascript (1)

📅  最后修改于: 2023-12-03 15:26:48.654000             🧑  作者: Mango

检查浏览器 - Javascript

在Web开发中,经常需要检查浏览器的类型和版本,以便为不同的浏览器提供特定的样式、功能等。Javascript提供了一些方法来检查浏览器信息。

navigator对象

navigator是Javascript中的一个内置对象,包含浏览器的相关信息。其中包括浏览器的名称、版本、语言、是否支持Cookie等。

以下是一些常用的navigator属性:

  • navigator.userAgent: 返回浏览器的标识字符串,可以用来识别浏览器类型和版本。
  • navigator.language: 返回浏览器的用户界面语言。
  • navigator.cookieEnabled: 返回浏览器是否支持Cookie。

示例代码:

// 获取浏览器标识字符串
const userAgent = navigator.userAgent;
console.log(userAgent);

// 获取浏览器语言
const language = navigator.language;
console.log(language);

// 检测浏览器是否支持Cookie
const cookieEnabled = navigator.cookieEnabled;
console.log(cookieEnabled);
检测浏览器类型和版本

通过解析navigator.userAgent可以得到浏览器类型和版本信息。下面是一些常见浏览器的标识字符串:

  • IE: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)
  • Chrome: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36
  • Firefox: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0
  • Safari: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36
  • Opera: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.66 Safari/537.36 OPR/72.0.3815.186

我们可以使用正则表达式来匹配浏览器类型和版本信息:

const userAgent = navigator.userAgent;
let browserName, browserVersion;

// 匹配IE浏览器
if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1) {
    browserName = "IE";
    browserVersion = /MSIE ([\d.]+)/.exec(userAgent)[1];
}
// 匹配Edge浏览器
else if (userAgent.indexOf("Edg") > -1) {
    browserName = "Edge";
    browserVersion = /Edg\/([\d.]+)/.exec(userAgent)[1];
}
// 匹配Chrome浏览器
else if (userAgent.indexOf("Chrome") > -1) {
    browserName = "Chrome";
    browserVersion = /Chrome\/([\d.]+)/.exec(userAgent)[1];
}
// 匹配Firefox浏览器
else if (userAgent.indexOf("Firefox") > -1) {
    browserName = "Firefox";
    browserVersion = /Firefox\/([\d.]+)/.exec(userAgent)[1];
}
// 匹配Safari浏览器
else if (userAgent.indexOf("Safari") > -1) {
    browserName = "Safari";
    browserVersion = /Version\/([\d.]+)/.exec(userAgent)[1];
}
// 匹配Opera浏览器
else if (userAgent.indexOf("OPR") > -1) {
    browserName = "Opera";
    browserVersion = /OPR\/([\d.]+)/.exec(userAgent)[1];
}

// 输出结果
console.log("Browser name:", browserName);
console.log("Browser version:", browserVersion);
结束语

以上就是Javascript中检查浏览器信息的方法。通过navigator对象可以获取一些浏览器相关的属性,而通过解析navigator.userAgent可以得到浏览器的类型和版本信息。在实际开发中,需要根据不同的浏览器提供特定的样式、功能等,因此了解浏览器信息是非常有用的。