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 相关文章推荐
javascript for循环设法提高性能
Feb 24 Javascript
extjs中form与grid交互数据(record)的方法
Aug 29 Javascript
JS中类或对象的定义说明
Mar 10 Javascript
JavaScript中的逻辑判断符&amp;&amp;、||与!介绍
Dec 31 Javascript
浅谈javascript实现八大排序
Apr 27 Javascript
js阻止浏览器默认行为的简单实例
May 15 Javascript
JavaScript仿微博输入框效果(案例分析)
Dec 06 Javascript
Vue-Router实现页面正在加载特效方法示例
Feb 12 Javascript
JS实现线性表的顺序表示方法示例【经典数据结构】
Apr 11 Javascript
vue-resouce设置请求头的三种方法
Sep 12 Javascript
JS路由跳转的简单实现代码
Sep 21 Javascript
浅谈vue限制文本框输入数字的正确姿势
Sep 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/12/13 PHP
PHP中使用CURL模拟登录并获取数据实例
2014/07/01 PHP
PHP实现图片压缩的两则实例
2014/07/19 PHP
Laravel解决nesting level错误和隐藏index.php的问题
2019/10/12 PHP
Gambit vs CL BO3 第二场 2.13
2021/03/10 DOTA
再次更新!MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类 Ver 1.6)
2007/02/05 Javascript
asp(javascript)全角半角转换代码 dbc2sbc
2009/08/06 Javascript
JavaScript 字符串乘法
2009/08/20 Javascript
jquery 操作单选框,复选框,下拉列表实现代码
2009/10/27 Javascript
javascript中的缓动效果实现程序
2012/12/29 Javascript
yepnope.js使用详解及示例分享
2014/06/23 Javascript
JavaScript开发人员的10个关键习惯小结
2014/12/05 Javascript
Angularjs注入拦截器实现Loading效果
2015/12/28 Javascript
JavaScript常用判断写法大全(推荐)
2016/05/30 Javascript
详解jQuery uploadify文件上传插件的使用方法
2016/12/16 Javascript
vue实现树形菜单效果
2018/03/19 Javascript
Vue头像处理方案小结
2018/07/26 Javascript
微信小程序自定义导航栏
2018/12/31 Javascript
vue微信分享的实现(在当前页面分享其他页面)
2019/04/16 Javascript
js微信分享接口调用详解
2019/07/23 Javascript
微信小程序基于高德地图查找位置并显示文字
2019/10/30 Javascript
python 循环遍历字典元素的简单方法
2016/09/11 Python
Python+matplotlib绘制不同大小和颜色散点图实例
2018/01/19 Python
Python 实现「食行生鲜」签到领积分功能
2018/09/26 Python
python shell命令行中import多层目录下的模块操作
2020/03/09 Python
Python基于class()实现面向对象原理详解
2020/03/26 Python
Python中实现输入一个整数的案例
2020/05/03 Python
解决导入django_filters不成功问题No module named 'django_filter'
2020/07/15 Python
中国专业的综合网上购物商城:京东
2016/08/02 全球购物
澳大利亚天然护肤品、化妆品和健康产品一站式商店:Nourished Life
2018/12/02 全球购物
怀旧香味蜡烛:Homesick
2019/11/02 全球购物
大学生演讲稿范文
2014/01/11 职场文书
关于赌博的检讨书
2014/01/24 职场文书
会计学生自我鉴定
2014/02/06 职场文书
公司客户答谢酒会祝酒词
2015/08/11 职场文书
Pytest中skip和skipif的具体使用方法
2021/06/30 Python