📅  最后修改于: 2023-12-03 15:11:52.156000             🧑  作者: Mango
在Web开发过程中,经常需要获取当前用户正在使用的操作系统和浏览器名称。操作系统和浏览器名称的获取可以通过浏览器提供的navigator
对象实现。
通过navigator.platform
属性可以获取用户的操作系统名称,该属性返回的字符串通常包含操作系统的名称以及版本号等信息。
const osName = navigator.platform;
例如,在Mac OS X 10.15.7系统中,navigator.platform
返回的值为MacIntel
。
通过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浏览器的名称和版本号。
有时候需要获取完整的操作系统和浏览器信息,包括操作系统名称、版本号以及浏览器名称、版本号等。可以通过判断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)
以上就是获取操作系统和浏览器名称的方法。在进行浏览器兼容性处理的时候,这些信息都是非常有用的。