请求头有个字段user-agent,这个属性是浏览器的信息。那么如何获取到这个字段呢?

可以通过navigator.userAgent获取这个字段的值。

user-agent样式如下:

Mozilla/5.0 (platform; rv:geckoversion) Gecko/geckotrail Firefox/firefoxversion

有两块需要重点关注

platform 用来说明浏览器所运行的原生系统平台(例如 Windows、Mac、Linux 或 Android),以及是否运行在手机上。

Firefox/firefoxversion 表示该浏览器是 Firefox,并且提供了版本号信息(例如 "17.0")。这块内容比较复杂。比如说如果是chorm浏览器,这个字段除了有chorm,还是其他浏览器名如safari。

具体介绍可参看你真的理解userAgent了吗

总结就是

检测 firefox 的核心,就是检测有没有 Firefox 字段。

检测 chrome 的核心,就是检测有没有 Chrome 字段。

检测 Opera 的核心,就是检测有 OPR 字段或者 Opera 字段。

检测 Safari 的核心,就是检测有 Safari 字段,同时没有 Chrome 字段。

检测 IE8-11 的核心是检测是否有 MSIE 或 Trident 字段,检测 IE Edge 的核心是检测是否有 edge 字段

具体判断代码如下

function getRE( ) {var RenderingEngine = "";if(navigator.userAgent.indexOf("MSIE")>0) {RenderingEngine = "MSIE"; //ie8-11}if(isFirefox = navigator.userAgent.indexOf("Firefox")>0){RenderingEngine = "Firefox";}if(isSafari = navigator.userAgent.indexOf("Safari")>0) {RenderingEngine = "Safari";} if(isCamino = navigator.userAgent.indexOf("Camino")>0){RenderingEngine = "Camino";}if(isMozilla = navigator.userAgent.indexOf("Gecko/")>0){RenderingEngine = "Gecko";}console.log(RenderingEngine);
}

如果获取浏览器内核,以便解决一些兼容性问题相关推荐

  1. 浏览器内核以及解决兼容性的方法

    浏览器内核以及解决兼容性的方法 浏览器内核: 分类: 1.Trident(IE内核) Trident(IE内核):该内核程序在1997年的IE4中首次被采用,是微软在Mosaic代码的基础之上修改而来 ...

  2. php 浏览器内核检测,php获取浏览器内核版本

    php获取浏览器内核版本<?php function getBrowser(){ $agent=$_SERVER["HTTP_USER_AGENT"]; if(strpos( ...

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

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

  4. H5 获取浏览器内核及版本

    主要代码 /*** 获取浏览器信息* @returns {{ name:"Edge"|"Edge(Chromium)"|"Internet Explo ...

  5. js 获取浏览器内核 亲测有效

    话不多说 function getBrowser() {var ua = navigator.userAgent.toLowerCase(),re_msie = /\b(?:msie |ie |tri ...

  6. 浏览器内核检测 获取当前浏览器的内核

    很多时候做兼容性的时候都要用到获取当前浏览器的版本和内核类型 if (!browser.ie && !browser.mac) { var UA = navigator.userAge ...

  7. [完美]原生JS获取浏览器版本判断--支持Edge,IE,Chrome,Firefox,Opera,Safari,以及各种使用Chrome和IE混合内核的浏览器...

    [完美]原生JS获取浏览器版本判断--支持Edge,IE,Chrome,Firefox,Opera,Safari,以及各种使用Chrome和IE混合内核的浏览器 原文:[完美]原生JS获取浏览器版本判 ...

  8. JS 获取浏览器信息,给出友情提示,避免部分兼容性问题

    最近在做webform,浏览器兼容是个问题,这里我收集了一些获取浏览器信息的资料,可以给一些用户使用时,提示浏览器版本过低,让升级版本用. 这样会给开发的我们,省下很多用来调试兼容性的时间和精力.  ...

  9. 主流浏览器内核有哪几种?

    1.背景介绍. 什么是浏览器的内核? 浏览器最重要或者说最核心的部分叫做"Rendering Engine",可大概译为"渲染引擎",不过我们一般习惯将之称为& ...

最新文章

  1. JVM中可生成的最大Thread数量
  2. 近期学习oracle 数据库总结
  3. 时间戳转datetime格式
  4. VL53L0x TOF激光测距的 stm32 HAL库驱动代码
  5. 在32位windows 7下安装PyLucene
  6. poj 1164城堡问题(DFS)
  7. Silverlight+WCF 新手实例 象棋 WCF通讯基础(十四)
  8. BIM族库下载——Revit栏杆族库
  9. uniGUI session超时时间设置
  10. 计算机软件cae,各种CAE软件介绍
  11. EDM营销的关键是什么
  12. -Cannot use v-for on stateful component root element because it renders multiple elements
  13. 海康硬盘录像机 rtsp/onvif 视频配置
  14. 计算机实训前言研究内容,计算机专业实践论文提纲模板 计算机专业实践论文提纲怎样写...
  15. 2016亚洲城市GDP50强出炉
  16. JQuery插件:遮罩+数据加载中。。。(特点:遮你想遮,罩你想罩)
  17. 进制转换-二进制和十进制的转化
  18. 【Linux Centos6/7连接Oracle11g数据库,提示:ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务】
  19. java 8——Stream
  20. 类中的静态成员变量和静态成员函数

热门文章

  1. 怎样自动回复文字、 图文 、图片 消息?
  2. eggjs视频教程分享
  3. 微信小程序 滑块视图容器
  4. 分治法实验之大整数乘法(算法设计分析)
  5. ubuntu-10.04下 联想 卲阳E46L以太 网驱动程序安 装
  6. camera 驱动 GT2005
  7. Alibaba Sentinel DegradeRule 降级规则源码
  8. 为什么停用CentOS?
  9. 过期牛奶也有好用途(屯些牛奶,等过期后用)
  10. 光纤接口(ST,SC,LC,FC)