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中的parseInt和parseFloat区别
Jul 12 Javascript
动态创建script在IE中缓存js文件时导致编码的解决方法
May 04 Javascript
jQuery点缩略图弹出层显示大图片
Feb 13 Javascript
微信小程序 购物车简单实例
Oct 24 Javascript
完美实现js焦点轮播效果(二)(图片可滚动)
Mar 07 Javascript
jQuery插件FusionCharts实现的MSBar2D图效果示例【附demo源码】
Mar 24 jQuery
AngularJS中使用ngModal模态框实例
May 27 Javascript
JavaScript实现的可变动态数字键盘控件方式实例代码
Jul 15 Javascript
Node.JS更改Windows注册表Regedit的方法小结
Aug 18 Javascript
JavaScript设计模式之工厂模式和抽象工厂模式定义与用法分析
Jul 26 Javascript
vue 项目build错误异常的解决方法
Apr 22 Javascript
Vue 实现从小到大的横向滑动效果详解
Oct 16 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
phpQuery占用内存过多的处理方法
2013/11/13 PHP
php中Snoopy类用法实例
2015/06/19 PHP
PHP附件下载中文名称乱码的解决方法
2015/12/17 PHP
一个网页标题title的闪动提示效果实现思路
2014/03/22 Javascript
jQuery学习笔记之jQuery.fn.init()的参数分析
2014/06/09 Javascript
悬浮广告方法日常收集整理
2016/03/18 Javascript
AngularJS控制器之间的通信方式详解
2016/11/03 Javascript
基于vue.js实现图片轮播效果
2016/12/01 Javascript
jQuery居中元素scrollleft计算方法示例
2017/01/16 Javascript
JavaScript基于Dom操作实现查找、修改HTML元素的内容及属性的方法
2017/01/20 Javascript
jQuery实现火车票买票城市选择切换功能
2017/09/15 jQuery
jQuery实现页码跳转式动态数据分页
2017/12/31 jQuery
Vue 全局loading组件实例详解
2018/05/29 Javascript
vue中使用echarts制作圆环图的实例代码
2018/07/27 Javascript
JavaScript私有变量实例详解
2019/01/24 Javascript
jquery3和layui冲突导致使用layui.layer.full弹出全屏iframe窗口时高度152px问题
2019/05/12 jQuery
[12:36]《DOTA2》国服注册与激活指南全攻略
2013/04/28 DOTA
python的迭代器与生成器实例详解
2014/07/16 Python
Python编程实现的简单神经网络算法示例
2018/01/26 Python
基于anaconda下强大的conda命令介绍
2018/06/11 Python
Python查找第n个子串的技巧分享
2018/06/27 Python
详解Python最长公共子串和最长公共子序列的实现
2018/07/07 Python
解决python 未发现数据源名称并且未指定默认驱动程序的问题
2018/12/07 Python
python自动化测试三部曲之request+django实现接口测试
2020/10/07 Python
纯CSS3实现漂亮的input输入框动画样式库(Text input love)
2018/12/29 HTML / CSS
澳大利亚在线消费电子产品商店:TobyDeals
2020/01/05 全球购物
触发器(trigger)的功能都有哪些?写出一个触发器的例子
2012/09/17 面试题
《在山的那边》教学反思
2014/02/23 职场文书
四年级评语大全
2014/04/21 职场文书
李敖北大演讲稿
2014/05/24 职场文书
医生爱岗敬业演讲稿
2014/08/26 职场文书
出国导师推荐信
2015/03/25 职场文书
邹越演讲观后感
2015/06/15 职场文书
八年级作文之一起的走过日子
2019/09/17 职场文书
Python实现老照片修复之上色小技巧
2021/10/16 Python
深入理解pytorch库的dockerfile
2022/06/10 Python