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 变量作用域分析
Jul 04 Javascript
jquery跟js初始化加载的多种方法及区别介绍
Apr 02 Javascript
jQuery中outerHeight()方法用法实例
Jan 19 Javascript
详细分析JavaScript变量类型
Jul 08 Javascript
jQuery插件Timelinr 实现时间轴特效
Oct 04 Javascript
浅谈Sublime Text 3运行JavaScript控制台
Jun 06 Javascript
Javascript中类式继承和原型式继承的实现方法和区别之处
Apr 25 Javascript
JQuery属性操作与循环用法示例
May 15 jQuery
使用vue自定义指令开发表单验证插件validate.js
May 23 Javascript
jQuery实现的分页插件完整示例
May 26 jQuery
JavaScript实现Tab标签页切换的最简便方式(4种)
Jun 28 Javascript
浅谈react useEffect闭包的坑
Jun 08 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
教你IIS6的PHP最佳配置方法
2006/09/05 PHP
php中定时计划任务的实现原理
2013/01/08 PHP
ThinkPHP设置禁止百度等搜索引擎转码(简单实用)
2016/02/15 PHP
php实现生成code128条形码的方法详解
2017/07/19 PHP
基于jQuery的ajax功能实现web service的json转化
2009/08/29 Javascript
JQuery获取文本框中字符长度的代码
2011/09/29 Javascript
jQuery UI Autocomplete 体验分享
2012/02/14 Javascript
javascript算法题 求任意一个1-9位不重复的N位数在该组合中的大小排列序号
2012/07/21 Javascript
jQuery验证插件 Validate详解
2014/11/20 Javascript
Node.js中JavaScript操作MySQL的常用方法整理
2016/03/01 Javascript
利用Angular.js限制textarea输入的字数
2016/10/20 Javascript
JS实用的带停顿的逐行文本循环滚动效果实例
2016/11/23 Javascript
easyUI combobox实现联动效果
2017/01/17 Javascript
bootstrap的常用组件和栅格式布局详解
2017/05/02 Javascript
实例讲解Vue.js中router传参
2018/04/22 Javascript
学习使用ExpressJS 4.0中的新Router的用法
2018/11/06 Javascript
微信小程序 flexbox layout快速实现基本布局的解决方案
2020/03/24 Javascript
解决Vue router-link绑定事件不生效的问题
2020/07/22 Javascript
使用django-suit为django 1.7 admin后台添加模板
2014/11/18 Python
Django自定义认证方式用法示例
2017/06/23 Python
python 设置文件编码格式的实现方法
2017/12/21 Python
Python3利用Dlib实现摄像头实时人脸检测和平铺显示示例
2019/02/21 Python
详解Python3迁移接口变化采坑记
2019/10/11 Python
CSS3中的opacity属性使用教程
2015/08/19 HTML / CSS
联想哥伦比亚网上商城:Lenovo Colombia
2017/01/10 全球购物
华为俄罗斯官方网上商城:购买Huawei手机和平板
2017/04/21 全球购物
马来西亚在线药房:RoyalePharma
2019/12/01 全球购物
日本即尚网:JSHOPPERS.com(支持中文)
2019/12/03 全球购物
财务支持类个人的自我评价
2014/02/14 职场文书
大学活动总结范文
2014/04/29 职场文书
面试感谢信范文
2015/01/22 职场文书
云台山导游词
2015/02/03 职场文书
学生会工作感言
2015/08/07 职场文书
2016年企业先进员工事迹材料
2016/02/25 职场文书
中学生打架检讨书之500字
2019/08/06 职场文书
导游词之重庆钓鱼城
2019/09/19 职场文书