📜  获取操作系统和浏览器名称 (1)

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

获取操作系统和浏览器名称

在Web开发过程中,经常需要获取当前用户正在使用的操作系统和浏览器名称。操作系统和浏览器名称的获取可以通过浏览器提供的navigator对象实现。

1. 获取操作系统名称

通过navigator.platform属性可以获取用户的操作系统名称,该属性返回的字符串通常包含操作系统的名称以及版本号等信息。

const osName = navigator.platform;

例如,在Mac OS X 10.15.7系统中,navigator.platform返回的值为MacIntel

2. 获取浏览器名称

通过navigator.userAgent属性可以获取当前浏览器的名称,该属性返回的字符串包含了浏览器的名称、版本号以及其他相关信息。

const browserName = navigator.userAgent;

例如,在Chrome浏览器中,navigator.userAgent返回的值为:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36

可以从这个字符串中提取出Chrome浏览器的名称和版本号。

3. 获取完整的操作系统和浏览器信息

有时候需要获取完整的操作系统和浏览器信息,包括操作系统名称、版本号以及浏览器名称、版本号等。可以通过判断navigator.userAgent返回的字符串来获取这些信息。

const fullUserAgent = navigator.userAgent;
const osName = (fullUserAgent.match(/(Windows NT|Mac OS X|Linux)/) || [])[0];
const browserName = (fullUserAgent.match(/(Chrome|Firefox|Safari|Opera|Edge)/) || [])[0];
const browserVersion = (fullUserAgent.match(/(Chrome|Firefox|Safari|Opera|Edge)\/[\d.]+/) || [])[0].split('/')[1];

const fullInfo = `The operating system is ${osName}\nThe browser is ${browserName} (version ${browserVersion})`;

例如,在Firefox浏览器中,fullInfo的值为:

The operating system is Windows NT
The browser is Firefox (version 92.0)

以上就是获取操作系统和浏览器名称的方法。在进行浏览器兼容性处理的时候,这些信息都是非常有用的。