浏览器UA(User-Agent)指的是浏览器发送的标识字符串,其中包含了浏览器的品牌、版本、系统信息、语言等相关信息。这些信息可以让服务端对客户端进行识别和适配。在前后端分离的开发模式中,通常会利用UA来进行服务端渲染、移动端适配、浏览器兼容性等方面的处理。本文将对常见的浏览器UA进行介绍,并介绍如何使用UA进行判断和适配。
1. Chrome浏览器
Chrome浏览器目前是全球使用率最高的浏览器之一,其UA识别字符串为:
```
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36
```
其中,Windows NT 10.0表示操作系统为Windows 10,Win64表示系统为64位。AppleWebKit/537.36表示渲染引擎是Webkit,Chrome/83.0.4103.116表示浏览器版本号为83.0.4103.116,Safari/537.36表示浏览器基于Safari浏览器。
使用JavaScript代码判断Chrome浏览器方式如下:
```javascript
var isChrome = window.navigator.userAgent.indexOf("Chrome") > -1;
if (isChrome) {
console.log("This is Chrome browser");
}
```
2. Safari浏览器
Safari浏览器为苹果公司开发的浏览器,其UA识别字符串为:
```
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_5) AppleWebKit/537.36 (KHTML, like Gecko) Version/13.1.1 Safari/537.36
```
其中,Macintosh表示操作系统为Mac OS X,Intel表示系统CPU为英特尔,Mac OS X 10_15_5表示操作系统版本为10.15.5。AppleWebKit/537.36表示渲染引擎是Webkit,Version/13.1.1表示浏览器版本号为13.1.1,Safari/537.36表示基于Safari浏览器。
使用JavaScript代码判断Safari浏览器方式如下:
```javascript
var isSafari = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);
if (isSafari) {
console.log("This is Safari browser");
}
```
3. Firefox浏览器
Firefox浏览器为Mozilla基金会开发的浏览器,其UA识别字符串为:
```
Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:77.0) Gecko/20100101 Firefox/77.0
```
其中,Windows NT 10.0表示操作系统为Windows 10,Win64表示系统为64位。rv:77.0表示浏览器版本号为77.0,Gecko/20100101表示浏览器基于Gecko引擎。
使用JavaScript代码判断Firefox浏览器方式如下:
```javascript
var isFirefox = typeof InstallTrigger !== 'undefined';
if (isFirefox) {
console.log("This is Firefox browser");
}
```
4. IE浏览器
IE浏览器曾经是全球使用率最高的浏览器,但现在已经逐渐被淘汰。其UA识别字符串为:
```
Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)
```
其中,compatible表示兼容IE兼容模式,MSIE 9.0表示浏览器版本号为9.0,Windows NT 6.1表示操作系统为Windows 7,Trident/5.0表示浏览器基于Trident引擎。
使用JavaScript代码判断IE浏览器方式如下:
```javascript
var isIE = !!window.ActiveXObject || "ActiveXObject" in window;
if (isIE) {
console.log("This is IE browser");
}
```
5. Edge浏览器
Edge浏览器为微软自己开发的浏览器,其UA识别字符串为:
```
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 Edge/16.16299
```
其中,Windows NT 10.0表示操作系统为Windows 10,Win64表示系统为64位。AppleWebKit/537.36表示渲染引擎是Webkit,Chrome/58.0.3029.110表示浏览器基于Chrome浏览器,Safari/537.36表示基于Safari浏览器,Edge/16.16299表示浏览器版本号为16.16299。
使用JavaScript代码判断Edge浏览器方式如下:
```javascript
var isEdge = navigator.userAgent.indexOf("Edge") > -1;
if (isEdge) {
console.log("This is Edge browser");
}
```
除了常见的浏览器,还有其他一些UA识别字符串比较特殊的浏览器,例如:
6. 微信浏览器
微信浏览器是基于WebKit核心开发的,其UA识别字符串为:
```
Mozilla/5.0 (Linux; Android 7.0; Xiaomi MI 5s Plus Build/NRD90M; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/65.0.3325.109 Mobile Safari/537.36 MicroMessenger/7.0.22.1820(0x27001652) Process/appbrand0 NetType/WIFI Language/zh_CN
```
其中,MicroMessenger/7.0.22.1820表示浏览器为微信浏览器,Language/zh_CN表示浏览器语言为中文。
使用JavaScript代码判断微信浏览器方式如下:
```javascript
var isWechat = /micromessenger/i.test(navigator.userAgent);
if (isWechat) {
console.log("This is Wechat browser");
}
```
7. 火狐浏览器的移动版
火狐浏览器的移动版是基于Gecko核心开发的,其UA识别字符串为:
```
Mozilla/5.0 (Android 11; Mobile; rv:68.0) Gecko/68.0 Firefox/87.0
```
其中,Android 11表示操作系统为Android 11,Mobile表示运行在移动设备上。rv:68.0表示浏览器版本号为68.0,Gecko/68.0表示浏览器基于Gecko引擎。
使用JavaScript代码判断火狐浏览器移动版方式如下:
```javascript
var isFirefoxBrowserMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) && /Firefox/i.test(navigator.userAgent);
if (isFirefoxBrowserMobile) {
console.log("This is Firefox mobile browser");
}
```
以上是常见的浏览器UA识别字符串及对应的判断方式,使用UA进行浏览器判断和适配,在前后端分离的开发模式中是比较常见的场景。例如,根据不同浏览器对CSS样式和JavaScript代码进行不同的处理,根据不同浏览器及版本对组件进行针对性的适配等。在应用实践中,我们也可以根据项目的具体需求进行定制化的UA识别和适配。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.37seo.cn/
发表评论 取消回复