user

您所在的位置:网站首页 谷歌浏览器怎么查看版本号 user

user

2023-08-04 00:22| 来源: 网络整理| 查看: 265

什么是user-Agent

User-Agent 首部包含了一个特征字符串,用来让网络协议的对端来识别发起请求的用户代理软件的应用类型、操作系统、软件开发商以及版本号 --MDN

user-Agent常用格式

打开chrome控制台,输入window.navigator.userAgent

// 手机模拟器模式 Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1 // 正常模式 Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36 复制代码

可以看到user-Agent的格式通常格式:

Mozilla/5.0 (平台信息) 引擎版本 浏览器类型与版本 复制代码Mozilla/5.0

关于Mozilla的可以看看知乎的这个问题

为什么所有主要浏览器的 User-Agent 都是 Mozilla/x.0 开头?

平台信息

由多个字符串组成,用英文分号隔开,表示设备的系统信息

常见平台信息

// windows Windows NT 10.0 // 如 Windows 10 Win64; x64 // Win64 on x64 WOW64 // Win32 on x64 复制代码// Linux X11; Linux i686; // Linux 桌面,i686 版本 复制代码// Mac Macintosh; Intel Mac OS X 10_9_0 // Intel x86 或者 x86_64 复制代码// Android,例如小米的 Linux; U; Android 10; zh-cn; MI 9 Build/QKQ1.190825.002 复制代码// iphone iPhone; CPU iPhone OS 13_3_1 like Mac OS X 复制代码... 复制代码

所以可以通过排除windows,linux和mac来确定设备类型是否是移动设备

引擎版本

这部分声明的是浏览器的内核,众所周知,常见的浏览器内核分为以下几种:

IE: Trident Chrome: 开始Webkit,后改成Chromium/Blink Firefox: Gecko Safari: Webkit Opera: Presto 复制代码

思否这篇文章介绍的非常详细,可以参考一下: 主流浏览器内核

为什么有(KHTML, like Gecko)

内核Webkit包含了一个排版引擎叫WebCore,而WebCore是KHTML衍生而来的。 Chrome希望能得到为Safari编写的网页,于是决定装成Safari,Safari使用了WebKit渲染引擎,而WebKit呢又伪装自己是KHTML,KHTML呢又是伪装成Gecko的

浏览器类型与版本

见下文

根据userAgent判断浏览器类型与版本 pc端还是移动端

根据userAgent的设备信息,排除windows,linux和mac,剩余的就是移动设备。移动设备主要是用正则判断Iphone还是Android即可

pc浏览器类型

参考

浏览器类型 匹配关键字 IE 10及以下 /msie ([\d\.]+)/ IE 11及以上 /rv:([\d.]+) like Gecko/ edge /edge\/([\d\.]+)/ Firefox /firefox\/([\d\.]+)/ Opera /(?:opera|opr).([\d\.]+)/ chrome /chrome\/([\d\.]+)/ safari /version\/([\d\.]+).*safari/ 代码

获取版本和型号

function getExplore(){ var Sys = {}; var ua = navigator.userAgent.toLowerCase(); var s; (s = ua.match(/rv:([\d.]+)\) like gecko/)) ? Sys.ie = s[1] : (s = ua.match(/msie ([\d\.]+)/)) ? Sys.ie = s[1] : (s = ua.match(/edge\/([\d\.]+)/)) ? Sys.edge = s[1] : (s = ua.match(/firefox\/([\d\.]+)/)) ? Sys.firefox = s[1] : (s = ua.match(/(?:opera|opr).([\d\.]+)/)) ? Sys.opera = s[1] : (s = ua.match(/chrome\/([\d\.]+)/)) ? Sys.chrome = s[1] : (s = ua.match(/version\/([\d\.]+).*safari/)) ? Sys.safari = s[1] : 0; // 根据关系进行判断 if (Sys.ie) return ('IE: ' + Sys.ie); if (Sys.edge) return ('EDGE: ' + Sys.edge); if (Sys.firefox) return ('Firefox: ' + Sys.firefox); if (Sys.chrome) return ('Chrome: ' + Sys.chrome); if (Sys.opera) return ('Opera: ' + Sys.opera); if (Sys.safari) return ('Safari: ' + Sys.safari); return 'Unkonwn'; } 复制代码那要区分不同手机端的浏览器呢

看看这个库ua-device



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3