js智能获取浏览器版本UA信息的方法


Posted in Javascript onAugust 08, 2016

js智能获取浏览器版本UA信息的方法

用js如何获取UA(user Agent)用户代理

<!DOCtype html>
<html>
<head>
	<title></title>
</head>
<body onload="whatBrowser()">
	<script> 
function whatBrowser() {  
document.Browser.Name.value=navigator.appName;  
document.Browser.Version.value=navigator.appVersion;  
document.Browser.Code.value=navigator.appCodeName;  
document.Browser.Agent.value=navigator.userAgent;  
}  
</script> 
<table> 
<form name="Browser"> 
<tr> 
<td> 浏览器名称: </td> 
<td> <input type="txt" name="Name" size="110%"></td> 
</tr> 
<tr> 
<td> 版本号:</td> 
<td> <input type="txt" name="Version" size="110%"></td> 
</tr> 
<tr> 
<td> 代码名称: </td> 
<td> <input type="txt" name="Code" size="110%"></td> 
</tr> 
<tr> 
<td> 用户代理标识:</td> 
<td> <input type="txt" name="Agent" size="110%"></td> 
</tr> 
</form> 
</table> 
</body>
</html>

函数式代码

/*
* 智能获取浏览器版本信息
*
*/
var browser={
  versions:function(){
  var u = navigator.userAgent, app = navigator.appVersion;
  return {//移动终端浏览器版本信息
   trident: u.indexOf('Trident') > -1, //IE内核
   presto: u.indexOf('Presto') > -1, //opera内核
   webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
   gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
   mobile: !!u.match(/AppleWebKit.*Mobile.*/)||!!u.match(/AppleWebKit/), //是否为移动终端
   ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
   android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器
   iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器
   iPad: u.indexOf('iPad') > -1, //是否iPad
   webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
  };
  }(),
  language:(navigator.browserLanguage || navigator.language).toLowerCase()
}

支持移动端判断的代码

<script>
 
  var browser = { 
    versions: function () { 
      var u = navigator.userAgent, app = navigator.appVersion; 
      return {     //移动终端浏览器版本信息 
        trident: u.indexOf('Trident') > -1, //IE内核 
        presto: u.indexOf('Presto') > -1, //opera内核 
        webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核 
        gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核 
        mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端 
        ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端 
        android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或uc浏览器 
        iPhone: u.indexOf('iPhone') > -1, //是否为iPhone或者QQHD浏览器 
        iPad: u.indexOf('iPad') > -1, //是否iPad 
        webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部 
      }; 
    }(), 
    language: (navigator.browserLanguage || navigator.language).toLowerCase() 
  }
 
 
  if (browser.versions.mobile) {//判断是否是移动设备打开。browser代码在下面 
      var ua = navigator.userAgent.toLowerCase();//获取判断用的对象 
      var u = navigator.userAgent; 
      var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端 
      var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端 
      if (ua.match(/MicroMessenger/i) == "micromessenger") { 
      //在微信中打开 
      }
 
    if (ua.match(/WeiBo/i) == "weibo" && isiOS) { 
      //alert("我在微博中被打开IOS");
      var flag;
      document.addEventListener('touchmove', function (event) {  //监听滚动事件
        if(flag==1){













//判断是遮罩显示时执行,禁止滚屏
          event.preventDefault();








 //最关键的一句,禁止浏览器默认行为
        }
      })
      $(".download-button,#headermenudownlink,#appshareheaderdownlink,#appsharesayhidownlink,#appsharevslogodownlink,#appsharevsdownlink").bind("click",function () {
        flag = 1;
        //alert('ios下载');
        $("#shade-father").css({"display":"block","background-color":"rgba(0,0,0,0.4)"});
        //$("body").css("paddingTop","2.3rem");
        $("#shade-child").css("height","4rem");
      });
      $('#shade-father').click(function (){
        flag = 0;
        $("#shade-father").css({"display":"none","background-color":"rgba(0,0,0,0)"});
        $("#shade-child").css("height","0");
        //$("body").css("paddingTop","0");
      });
 
    }
 
  if (ua.match(/WeiBo/i) == "weibo" && isAndroid) {
 
 
  }
 
  if (ua.match(/QQ/i) == "qq") {
 
    //在QQ空间打开
 
  }
 
  if (browser.versions.ios) {
 
    //是否在IOS浏览器打开
 
  }
 
  if(browser.versions.android){
 
    //是否在安卓浏览器打开
 
  }
 
  } else {
 
    //否则就是PC浏览器打开
 
  }
</script>

以上这篇js智能获取浏览器版本UA信息的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
修改jQuery.Autocomplete插件 支持中文输入法 避免TAB、ENTER键失效、导致表单提交
Oct 11 Javascript
jQuery学习3:操作元素属性和特性
Feb 07 Javascript
javascript重复绑定事件造成的后果说明
Mar 02 Javascript
JavaScript获取元素尺寸和大小操作总结
Feb 27 Javascript
Bootstrap Table服务器分页与在线编辑应用总结
Aug 08 Javascript
浅析JavaScript函数的调用模式
Aug 10 Javascript
Angular表单验证实例详解
Oct 20 Javascript
微信小程序 保留小数(toFixed)详细介绍
Nov 16 Javascript
AngularJS学习笔记之表单验证功能实例详解
Jul 06 Javascript
实现jquery放大镜的两种方法
Feb 22 jQuery
mpvue将vue项目转换为小程序
Sep 30 Javascript
vue中v-text / v-html使用实例代码详解
Apr 02 Javascript
jQuery.ajax 跨域请求webapi设置headers的解决方案
Aug 08 #Javascript
一个超简单的jQuery回调函数例子(分享)
Aug 08 #Javascript
Bootstrap Table服务器分页与在线编辑应用总结
Aug 08 #Javascript
使用jQuery5分钟快速搞定双色表格的简单实例
Aug 08 #Javascript
BootStrap Table 分页后重新搜索问题的解决办法
Aug 08 #Javascript
用js读写cookie的简单方法(推荐)
Aug 08 #Javascript
Js遍历键值对形式对象或Map形式的方法
Aug 08 #Javascript
You might like
十天学会php之第二天
2006/10/09 PHP
解析PHP中VC6 X86和VC9 X86的区别及 Non Thread Safe的意思
2013/06/28 PHP
PHP实现通过get方式识别用户发送邮件的方法
2015/07/16 PHP
PHP生成随机数的方法总结
2018/03/01 PHP
ASP.NET jQuery 实例4(复制TextBox的文本到本地剪贴板上)
2012/01/13 Javascript
JS数组的赋值介绍
2014/03/10 Javascript
Node.js 学习笔记之简介、安装及配置
2015/03/03 Javascript
js实现的后台左侧管理菜单代码
2015/09/11 Javascript
js代码实现点击按钮出现60秒倒计时
2021/01/28 Javascript
js判断鼠标位置是否在某个div中的方法
2016/02/26 Javascript
JavaScript数组合并的多种方法
2016/05/22 Javascript
JS高级运动实例分析
2016/12/20 Javascript
bootstrap select下拉搜索插件使用方法详解
2017/11/23 Javascript
jQuery实现简单复制json对象和json对象集合操作示例
2018/07/09 jQuery
详解vue组件中使用路由方法
2019/02/12 Javascript
JavaScript中常用的简洁高级技巧总结
2019/03/10 Javascript
微信小程序用户拒绝授权的处理方法详解
2019/09/20 Javascript
js中script的上下放置区别,Dom的增删改创建操作实例分析
2019/12/16 Javascript
JavaScript 判断数据类型的4种方法
2020/09/11 Javascript
[04:26]DOTA2上海特锦赛小组赛第二日 TOP10精彩集锦
2016/02/27 DOTA
Python3中使用PyMongo的方法详解
2017/07/28 Python
python+mongodb数据抓取详细介绍
2017/10/25 Python
python创建n行m列数组示例
2019/12/02 Python
python3爬虫GIL修改多线程实例讲解
2020/11/24 Python
亚洲最大旅游体验平台:KKday
2017/10/21 全球购物
意大利婴儿产品网上商店:Mukako
2018/10/14 全球购物
如何用PHP实现邮件发送
2012/12/26 面试题
工作自我评价分享
2013/12/01 职场文书
自我评价范文
2013/12/22 职场文书
留学文书中的个人陈述,应该注意哪些问题?
2019/08/23 职场文书
Python提取PDF指定内容并生成新文件
2021/06/09 Python
SQL之各种join小结详细讲解
2021/08/04 MySQL
面试被问select......for update会锁表还是锁行
2021/11/11 MySQL
漫改真人电影「萌系男友是燃燃的橘色」公开先导视觉图
2022/03/21 日漫
python中的getter与setter你了解吗
2022/03/24 Python
Python OpenCV超详细讲解调整大小与图像操作的实现
2022/04/02 Python