当前位置: 首页 > news >正文

js判断客户浏览器类型,版本

在JS中判断浏览器的 类型,估计是每个编辑过页面的开发人员都遇到过的问题。在众多的浏览器产品中,IE、Firefox、Opera、Safari........众多品牌 却标准不一,因此时常需要根据不同的浏览器,甚至相同浏览器不同版本做不同的操作,因此,知晓浏览器的判断方法,还是很重要的。下面列举一下常用的判断方 法:
1、判断浏览器是否为IE
        document.all ? 'IE' : 'others':在IE下document.all值为1,而其他浏览器下的值为0;
        navigator.userAgent.indexOf("MSIE")>0 ? 'IE' : 'others':navigator.userAgent是描述用户代理信息。
        navigator.appName.indexOf("Microsoft") != -1 ? 'IE' : 'others':navigator.appName描述浏览器名称信息。
2、判断IE版本
        navigator.appVersion.match(/6./i)=="6." ? 'IE6' : 'other version':在已知是IE浏览器的情况下,可以通过此方法判断是否是IE6;
        navigator.userAgent.indexOf("MSIE 6.0")>0 ? 'IE7' : 'other version':同上;
        navigator.appVersion.match(/7./i)=="7." ? 'IE7' : 'other version':在已知是IE浏览器的情况下,可以通过此方法判断是否是IE7;
        navigator.userAgent.indexOf("MSIE 7.0")>0 ? 'IE7' : 'other version':同上;
        navigator.appVersion.match(/8./i)=="8." ? 'IE8' : 'other version':在已知是IE浏览器的情况下,可以通过此方法判断是否是IE8;
        navigator.userAgent.indexOf("MSIE 8.0")>0 ? 'IE8' : 'other version':同上。
3、JS获取浏览器信息
        浏览器代码名称:navigator.appCodeName
        浏览器名称:navigator.appName
        浏览器版本号:navigator.appVersion
        对Java的支持:navigator.javaEnabled()
        MIME类型(数组):navigator.mimeTypes
        系统平台:navigator.platform
        插件(数组):navigator.plugins
        用户代理:navigator.userAgent
 
DEMO:
Js代码 
<script language="JavaScript">  
    <!--  
function getOs()  
{  
    var OsObject = "";  
   if(navigator.userAgent.indexOf("MSIE")>0) {  
        return "MSIE";  
   }  
   if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){  
        return "Firefox";  
   }  
   if(isSafari=navigator.userAgent.indexOf("Safari")>0) {  
        return "Safari";  
   }   
   if(isCamino=navigator.userAgent.indexOf("Camino")>0){  
        return "Camino";  
   }  
   if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0){  
        return "Gecko";  
   }  
    
}  
 alert("您的浏览器类型为:"+getOs());  
    -->  
</script>

转载于:https://www.cnblogs.com/GodIsBoy/p/3149994.html

相关文章:

  • Eclipse Deepin 12.12 代码提示崩溃
  • 做技术到底可以做到哪种地步-技术为什么越走越窄
  • linux转发流程图。
  • Java连接Mysql,SQL Server, Access,Oracle
  • 毕业那点事儿--回顾在大学这7年
  • Engineer01
  • 7款拥有超酷设计灵感的动态网站设计
  • 这才叫电脑高手!
  • 必应搜索全球PK,只为证明自己
  • 关于glusterfs-3.3.1的两个bug
  • 老树新芽,在ES6下使用Express
  • 工作那些事儿(5)- 机会
  • ASP.NET中Html.Partial和Html.Action的一个区别
  • ffmpeg架构和解码流程分析
  • oracle维护表空间和数据文件
  • 自己简单写的 事件订阅机制
  • 78. Subsets
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • IP路由与转发
  • JavaScript中的对象个人分享
  • Js基础知识(四) - js运行原理与机制
  • PHP CLI应用的调试原理
  • vue 个人积累(使用工具,组件)
  • Vultr 教程目录
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 实战|智能家居行业移动应用性能分析
  • 小程序01:wepy框架整合iview webapp UI
  • 小程序测试方案初探
  • 一个完整Java Web项目背后的密码
  • 用Python写一份独特的元宵节祝福
  • 06-01 点餐小程序前台界面搭建
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • #DBA杂记1
  • #Spring-boot高级
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • $(function(){})与(function($){....})(jQuery)的区别
  • (39)STM32——FLASH闪存
  • (a /b)*c的值
  • (DFS + 剪枝)【洛谷P1731】 [NOI1999] 生日蛋糕
  • (env: Windows,mp,1.06.2308310; lib: 3.2.4) uniapp微信小程序
  • (windows2012共享文件夹和防火墙设置
  • (附源码)ssm码农论坛 毕业设计 231126
  • (附源码)计算机毕业设计SSM基于健身房管理系统
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (转)shell调试方法
  • (转载)OpenStack Hacker养成指南
  • (转载)深入super,看Python如何解决钻石继承难题
  • .net core开源商城系统源码,支持可视化布局小程序
  • .NET LINQ 通常分 Syntax Query 和Syntax Method
  • .NET 材料检测系统崩溃分析