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 相关文章推荐
JSON 教程 json入门学习笔记
Sep 22 Javascript
jQuery EasyUI API 中文文档 - ComboTree组合树
Oct 11 Javascript
JS弹出层单纯的绝对定位居中示例代码
Feb 18 Javascript
node.js中的querystring.stringify方法使用说明
Dec 10 Javascript
JS模式之单例模式基本用法
Jun 30 Javascript
功能强大的Bootstrap效果展示(二)
Aug 03 Javascript
JavaScript 拖拽实例代码
Sep 21 Javascript
JS定时检测任务任务完成后执行下一步的解决办法
Dec 22 Javascript
详解Vue监听数据变化原理
Mar 08 Javascript
jQuery中的deferred对象和extend方法详解
May 08 jQuery
浅谈webpack组织模块的原理
Mar 10 Javascript
ajax跨域访问遇到的问题及解决方案
May 23 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
IP攻击升级,程序改进以对付新的攻击
2010/11/23 PHP
PHP Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\
2012/06/17 PHP
PHP函数extension_loaded()用法实例
2015/01/19 PHP
php根据年月获取当月天数及日期数组的方法
2016/11/30 PHP
php实现微信原生支付(扫码支付)功能
2018/05/30 PHP
checkbox全选/取消全选以及checkbox遍历jQuery实现代码
2009/12/02 Javascript
javascript动画之圆形运动,环绕鼠标运动作小球
2010/07/20 Javascript
字符串的replace方法应用浅析
2011/12/06 Javascript
基于编写jQuery的无缝滚动插件
2014/08/02 Javascript
jquery.validate 自定义验证方法及validate相关参数
2016/01/18 Javascript
javascript实现查找数组中最大值方法汇总
2016/02/13 Javascript
jQuery插件HighCharts绘制2D饼图效果示例【附demo源码下载】
2017/03/21 jQuery
如何快速解决JS或Jquery ajax异步跨域的问题
2018/01/08 jQuery
js判断输入框不能为空格或null值的实现方法
2018/03/02 Javascript
vue+高德地图写地图选址组件的方法
2019/05/18 Javascript
Layui弹出层 加载 做编辑页面的方法
2019/09/16 Javascript
Vue 解决路由过渡动画抖动问题(实例详解)
2020/01/05 Javascript
vue通过过滤器实现数据格式化
2020/07/20 Javascript
swiper自定义分页器的样式
2020/09/14 Javascript
python修改注册表终止360进程实例
2014/10/13 Python
Python Web框架Flask信号机制(signals)介绍
2015/01/01 Python
详解Python读取yaml文件多层菜单
2019/03/23 Python
python字典的setdefault的巧妙用法
2019/08/07 Python
Python 使用threading+Queue实现线程池示例
2019/12/21 Python
新手入门学习python Numpy基础操作
2020/03/02 Python
pytorch 查看cuda 版本方式
2020/06/23 Python
python中的django是做什么的
2020/07/31 Python
eDreams巴西:廉价机票,酒店优惠和度假套餐
2017/04/14 全球购物
采购部部门职责
2013/12/15 职场文书
合作协议书范本
2014/10/25 职场文书
铁路安全反思材料
2014/12/24 职场文书
我们的节日端午节活动总结
2015/02/11 职场文书
小孩不笨观后感
2015/06/03 职场文书
小学美术教学反思
2016/02/17 职场文书
2019年让高校“心动”的自荐信
2019/03/25 职场文书
Python基础之常用库常用方法整理
2021/04/30 Python