function browserJudge() {var document = window.document,navigator = window.navigator,agent = navigator.userAgent.toLowerCase(),//IE8+支持.返回浏览器渲染当前文档所用的模式//IE6,IE7:undefined.IE8:8(兼容模式返回7).IE9:9(兼容模式返回7||8)//IE10:10(兼容模式7||8||9)IEMode = document.documentMode,//chormechrome = window.chrome || false,System = {//user-agentagent: agent,//是否为IEisIE: /msie/.test(agent),//Gecko内核isGecko: agent.indexOf("gecko") > 0 && agent.indexOf("like gecko") < 0,//webkit内核isWebkit: agent.indexOf("webkit") > 0,//是否为标准模式isStrict: document.compatMode === "CSS1Compat",//是否支持subtitlesupportSubTitle: function () {return "track" in document.createElement("track");},//是否支持scopedsupportScope: function () {return "scoped" in document.createElement("style");},//获取IE的版本号ieVersion: function () {try {return agent.match(/msie ([\d.]+)/)[1] || 0;} catch (e) {console.log("error");return IEMode;}},//Opera版本号operaVersion: function () {try {if (window.opera) {return agent.match(/opera.([\d.]+)/)[1];} else if (agent.indexOf("opr") > 0) {return agent.match(/opr\/([\d.]+)/)[1];}} catch (e) {console.log("error");return 0;}},//描述:version过滤.如31.0.252.152 只保留31.0versionFilter: function () {if (arguments.length === 1 && typeof arguments[0] === "string") {var version = arguments[0];start = version.indexOf(".");if (start > 0) {end = version.indexOf(".", start + 1);if (end !== -1) {return version.substr(0, end);}}return version;} else if (arguments.length === 1) {return arguments[0];}return 0;}};try {//浏览器类型(IE、Opera、Chrome、Safari、Firefox)System.type = System.isIE ? "IE" :window.opera || (agent.indexOf("opr") > 0) ? "Opera" :(agent.indexOf("chrome") > 0) ? "Chrome" ://safari也提供了专门的判定方式window.openDatabase ? "Safari" :(agent.indexOf("firefox") > 0) ? "Firefox" :'unknow';//版本号System.version = (System.type === "IE") ? System.ieVersion() :(System.type === "Firefox") ? agent.match(/firefox\/([\d.]+)/)[1] :(System.type === "Chrome") ? agent.match(/chrome\/([\d.]+)/)[1] :(System.type === "Opera") ? System.operaVersion() :(System.type === "Safari") ? agent.match(/version\/([\d.]+)/)[1] :"0";//浏览器外壳System.shell = function () {//遨游浏览器if (agent.indexOf("maxthon") > 0) {System.version = agent.match(/maxthon\/([\d.]+)/)[1] || System.version;return "傲游浏览器";}//QQ浏览器if (agent.indexOf("qqbrowser") > 0) {System.version = agent.match(/qqbrowser\/([\d.]+)/)[1] || System.version;return "QQ浏览器";}//搜狗浏览器if (agent.indexOf("se 2.x") > 0) {return '搜狗浏览器';}//Chrome:也可以使用window.chrome && window.chrome.webstore判断if (chrome && System.type !== "Opera") {var external = window.external,clientInfo = window.clientInformation,//客户端语言:zh-cn,zh.360下面会返回undefinedclientLanguage = clientInfo.languages;//猎豹浏览器:或者agent.indexOf("lbbrowser")>0if (external && 'LiebaoGetVersion' in external) {return '猎豹浏览器';}//百度浏览器if (agent.indexOf("bidubrowser") > 0) {System.version = agent.match(/bidubrowser\/([\d.]+)/)[1] ||agent.match(/chrome\/([\d.]+)/)[1];return "百度浏览器";}//360极速浏览器和360安全浏览器if (System.supportSubTitle() && typeof clientLanguage === "undefined") {//object.key()返回一个数组.包含可枚举属性和方法名称var storeKeyLen = Object.keys(chrome.webstore).length,v8Locale = "v8Locale" in window;return storeKeyLen > 1 ? '360极速浏览器' : '360安全浏览器';}return "Chrome";}return System.type;};//浏览器名称(如果是壳浏览器,则返回壳名称)System.name = System.shell();//对版本号进行过滤过处理System.version = System.versionFilter(System.version);} catch (e) {console.log("error");}return System.type + ' ' + System.version}

js获取浏览器类型及版本相关推荐

  1. JS获取浏览器类型和版本信息

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. js检测浏览器类型以及版本信息

    js检测浏览器类型以及版本信息 DetectBrowser () {const userAgent = window.navigator.userAgentconst isChrome = userA ...

  3. JS判断浏览器类型与版本

    这个东西在跨平台前端开发很有用: 在JS中判断浏览器的类型,估计是每个编辑过页面的开发人员都遇到过的问题.在众多的浏览器产品中,IE.Firefox.Opera.Safari........众多品牌却 ...

  4. JS判断浏览器类型及版本

    判断浏览器类型及版本 function getBroswer(){var os = navigator.platform; var userAgent = navigator.userAgent; v ...

  5. html 获取浏览器语言,js获取浏览器类型和语言

    js代码如下: // 获取终端的相关信息 var Terminal = { // 辨别浏览器类型 browserType : function(){ var u = navigator.userAge ...

  6. 前端:JS获取浏览器类型类库

    1.判断终端类型 isIos () {var u = navigator.userAgent;if (u.indexOf('Android') > -1 || u.indexOf('Linux' ...

  7. 原生JS 获取浏览器类型-2022新版

    浏览器类型的获取逻辑需要不断更新,因为各家浏览器会更新他们的底层,导致之前的逻辑失败 后续出现不兼容问题的话,再进行更新 当前版本:20220106 function checkBrowser() { ...

  8. 前端通过vue获取浏览器类型和版本最新

    新建一个js文件,我的命名是browserVersion.js /* 判断各个浏览器版本号 */ function matchVesion() {let userAgent = navigator.u ...

  9. js和java获取浏览器内核和版本

    1. Java获取浏览器版本 String agent=request.getHeader("User-Agent").toLowerCase(); System.out.prin ...

  10. 前端如何判断浏览器类型及版本?

    前言 在网站前端开发中,浏览器兼容性问题让我们手忙脚乱,浏览器兼容性是前端开发框架要解决的第一个问题,要解决兼容性问题就得首先准确判断出浏览器的类型及其版本. JavaScript是前端开发的主要语言 ...

最新文章

  1. linux线程join的用法,join用法
  2. 今日 Paper | 多人姿势估计;对话框语义分析;无监督语义分析;自然语言处理工具包等
  3. 用JavaScript来实现链表LinkedList
  4. MySql之DDL操作创建表(添加主键, 外键约束以及基本的数据类型)
  5. ubuntu 下通过 sh 命令运行脚本产生如下错误:[: y: unexpected operator
  6. python-类方法和属性
  7. 阿里云 APM 解决方案地图
  8. mysql语言的创建模式文件_南开17春学期《数据库应用系统设计》在线作业 免费答案...
  9. 【记录】idea创建springboot多模块项目
  10. Python 玩出花了!一文教你用 Python 制作吃豆人游戏! | 附代码
  11. C#之重定向输入输出
  12. Numeral.js 是一个用于格式化和数字四则运算的js 库
  13. django数据模型中关于on_delete的使用
  14. hive Beeline plus HiveServer2简单使用
  15. 扩展ScriptBundle,支持混淆加密javascript
  16. 安装Linux系统不分区的问题,浅谈linux系统的分区问题
  17. 红米k40pro一键root教程
  18. (2)Hadoop核心 -- java代码对MapReduce的例子1
  19. 小白的25天CTF征程
  20. 第一次独立使用无人船记录日志—第1天

热门文章

  1. android killer java,记录Android Killer反编译时遇到的异常
  2. 即时通讯-Netty篇
  3. 随着计算机科学,行测真题_随着科学技术的发展,人机交流已经成为现实_步知行测...
  4. 抓网页_面包网_javaSE
  5. 企业微信SCRM会员营销 您的私域流量池精细化运营平台
  6. c语言的三个基本语句,C语言-桂林理工大学3-第三章 C程序设计的基本语句.doc
  7. python因子分析案例_因子分析及python实现(一)
  8. css 文本超出...
  9. Namesilo域名解析详细图文教程!
  10. tcp 握手失败_TCP三次握手四次挥手总结(流程、常见问题、会发生的攻击、防范方法)...