javascript宿主对象之window.navigator详解


Posted in Javascript onSeptember 07, 2016

window.navigator用来反映浏览器及其功能信息的对象。 

// 检测浏览器版本信息
function getBrowserInfo(){
  var Sys = {};
  var ua = window.navigator.userAgent.toLowerCase();
  var re =/(msie|firefox|chrome|opera|version).*?([\d.]+)/;
  var m = ua.match(re);
  Sys.browser = m[1].replace(/version/, "'safari");
  Sys.ver = m[2];
  return Sys;
}
var BomInfo = getBrowserInfo;
console.log(BomInfo ());

如何判断是不是ie呢?

var navigatorName = "Microsoft Internet Explorer"; 
var isIE = false;  
if( window.navigator.appName == navigatorName ){  
  isIE = true;  
  alert("ie")  
}else{  
  alert("not ie")  
}

还有一种方法:

if(window.addEventListener){ 
   alert("not ie");  
}else if(window.attachEvent){  
   alert("is ie");  
}else{  
    alert("这种情况发生在不支持DHTML的老版本浏览器(现在一般都支持)")  
}

判断设备类型: 

function browerType() {
   var sUserAgent = navigator.userAgent.toLowerCase(); //浏览器的用户代理设置为小写,再进行匹配
   var isIpad = sUserAgent.match(/ipad/i) == "ipad"; //或者利用indexOf方法来匹配
   var isIphoneOs = sUserAgent.match(/iphone os/i) == "iphone";
   var isMidp = sUserAgent.match(/midp/i) == "midp"; //移动信息设备描述MIDP是一套Java应用编程接口,多适用于塞班系统
   var isUc7 = sUserAgent.match(/rv:1.2.3.4/i) == "rv:1.2.3.4"; //CVS标签
   var isUc = sUserAgent.match(/ucweb/i) == "ucweb";
   var isAndroid = sUserAgent.match(/android/i) == "android";
   var isCe = sUserAgent.match(/windows ce/i) == "windows ce";
   var isWM = sUserAgent.match(/windows mobil/i) == "windows mobil";
   if (isIpad || isIphoneOs || isMidp || isUc7 || isUc || isAndroid || isCe || isWM) {
     alert('该设备为移动设备'); // 做某些事情
   } else {
     alert('该设备为PC设备'); // 做某些事情
   }
}
browerType();

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery 学习6 操纵元素显示效果的函数
Feb 07 Javascript
js DataSet数据源处理代码
Mar 29 Javascript
JavaScript 大数据相加的问题
Aug 03 Javascript
jQuery实现表格展开与折叠的方法
May 04 Javascript
jqGrid用法汇总(全经典)
Jun 28 Javascript
浅谈js停止事件冒泡 阻止浏览器的默认行为(阻止超连接 #)
Feb 08 Javascript
jQuery模拟实现天猫购物车动画效果实例代码
May 25 jQuery
详解angularjs中如何实现控制器和指令之间交互
May 31 Javascript
bootstrap table支持高度百分比的实例代码
Feb 28 Javascript
Element UI 自定义正则表达式验证方法
Sep 04 Javascript
vue中使用heatmapjs的示例代码(结合百度地图)
Sep 05 Javascript
微信小程序实现多行文字滚动
Nov 18 Javascript
Angular 理解module和injector,即依赖注入
Sep 07 #Javascript
JS继承之借用构造函数继承和组合继承
Sep 07 #Javascript
Node.js读写文件之批量替换图片的实现方法
Sep 07 #Javascript
jQuery实现底部浮动窗口效果
Sep 07 #Javascript
聊一聊Vue.js过渡效果
Sep 07 #Javascript
BootStrap中的表单大全
Sep 07 #Javascript
JS实现title标题栏文字不间断滚动显示效果
Sep 07 #Javascript
You might like
php 图片上传类代码
2009/07/17 PHP
php计算十二星座的函数代码
2012/08/21 PHP
php运行报错Call to undefined function curl_init()的最新解决方法
2016/11/20 PHP
Yii框架的路由配置方法分析
2019/09/09 PHP
浅析JQuery获取和设置Select选项的常用方法总结
2013/07/04 Javascript
Javascript中string转date示例代码
2013/11/01 Javascript
判断文件是否正在被使用的JS代码
2013/12/21 Javascript
Jquery实现兼容各大浏览器的Enter回车切换输入焦点的方法
2014/09/01 Javascript
jquery+ajax验证不通过也提交表单问题处理
2014/12/12 Javascript
javascript 事件处理示例分享
2014/12/31 Javascript
JavaScript获取表格(table)当前行的值、删除行、增加行
2015/07/03 Javascript
详解AngularJS中module模块的导入导出
2015/12/10 Javascript
Angularjs中使用Filters详解
2016/03/11 Javascript
javascript 组合按键事件监听实现代码
2017/02/21 Javascript
详解angularJs模块ui-router之状态嵌套和视图嵌套
2017/04/28 Javascript
原生JS实现的双色球功能示例
2018/02/02 Javascript
详解Vue内部怎样处理props选项的多种写法
2018/11/06 Javascript
IE8中jQuery.load()加载页面不显示的原因
2018/11/15 jQuery
详解webpack的文件监听实现(热更新)
2020/09/11 Javascript
[00:32]2018DOTA2亚洲邀请赛Mineski出场
2018/04/04 DOTA
[01:11:32]VG vs FNATIC 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
简介Python的collections模块中defaultdict类型的用法
2016/07/07 Python
基于asyncio 异步协程框架实现收集B站直播弹幕
2016/09/11 Python
解决python 读取excel时 日期变成数字并加.0的问题
2019/10/08 Python
python打印文件的前几行或最后几行教程
2020/02/13 Python
python logging.basicConfig不生效的原因及解决
2020/02/20 Python
使用Pycharm(Python工具)新建项目及创建Python文件的教程
2020/04/26 Python
Python绘制词云图之可视化神器pyecharts的方法
2021/02/23 Python
可口可乐唇膏:Lip Smackers
2019/08/27 全球购物
初中物理教学反思
2014/01/14 职场文书
竞选体育委员演讲稿
2014/04/26 职场文书
中国梦党课学习心得体会
2016/01/05 职场文书
基于Python实现的购物商城管理系统
2021/04/27 Python
python正则表达式re.search()的基本使用教程
2021/05/21 Python
图文详解matlab原始处理图像几何变换
2021/07/09 Python
Nginx中使用Lua脚本与图片的缩略图处理的实现
2022/03/18 Servers