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 相关文章推荐
JavaScript实现禁止后退的方法
Dec 27 Javascript
extjs 学习笔记(一) 一些基础知识
Oct 13 Javascript
JavaScript中的apply和call函数详解
Jul 20 Javascript
jquery插件star-rating.js实现星级评分特效
Apr 15 Javascript
vue实现简单loading进度条
Jun 06 Javascript
js自定义input文件上传样式
Oct 26 Javascript
详解vue-cli3多页应用改造
Jun 04 Javascript
vue.js实现图书管理功能
Sep 24 Javascript
layui(1.0.9)文件上传upload,前后端的实例代码
Sep 26 Javascript
javascript 高级语法之继承的基本使用方法示例
Nov 11 Javascript
VUE table表格动态添加一列数据,新增的这些数据不可以编辑(v-model绑定的数据不能实时更新)
Apr 03 Javascript
区分vue-router的hash和history模式
Oct 03 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中使用Oracle数据库(2)
2006/10/09 PHP
mysql limit查询优化分析
2008/11/12 PHP
Uncaught exception com_exception with message Failed to create COM object
2012/01/11 PHP
ecshop 批量上传(加入自定义属性)
2012/03/20 PHP
PHP中的按位与和按位或操作示例
2014/01/27 PHP
详解PHP 二维数组排序保持键名不变
2019/03/06 PHP
laravel请求参数校验方法
2019/10/10 PHP
JavaScript 字符编码规则
2009/05/04 Javascript
JavaScript 读取元素的CSS信息的代码
2010/02/07 Javascript
jquery+json实现的搜索加分页效果
2010/03/31 Javascript
JS注释所产生的bug 即使注释也会执行
2013/11/19 Javascript
js取float型小数点后两位数的方法
2014/01/18 Javascript
JS输入用户名自动显示邮箱后缀列表的方法
2015/01/27 Javascript
移动设备web开发首选框架:zeptojs介绍
2015/01/29 Javascript
JS实现向表格行添加新单元格的方法
2015/03/30 Javascript
Bootstrap基本插件学习笔记之标签切换(17)
2016/12/08 Javascript
JS实现仿饿了么在浏览器标签页失去焦点时网页Title改变
2017/06/01 Javascript
Angular实现响应式表单
2017/08/04 Javascript
jQuery UI 实例讲解 - 日期选择器(Datepicker)
2017/09/18 jQuery
Node.js 使用AngularJS的方法示例
2018/05/11 Javascript
JavaScript高级函数应用之分时函数实例分析
2018/08/03 Javascript
使用Angular-CLI构建NPM包的方法
2018/09/07 Javascript
通过jQuery学习js类型判断的技巧
2019/05/27 jQuery
axios异步提交表单数据的几种方法
2019/08/11 Javascript
layui将table转化表单显示的方法(即table.render转为表单展示)
2019/09/24 Javascript
[03:59]5分钟带你了解什么是DOTA2(第二期)
2017/02/07 DOTA
在Pycharm中将pyinstaller加入External Tools的方法
2019/01/16 Python
python字符串替换re.sub()实例解析
2020/02/09 Python
pycharm 实现本地写代码,服务器运行的操作
2020/06/08 Python
HTML5 Blob对象的具体使用
2020/05/22 HTML / CSS
香港永安旅游网:Wing On Travel
2017/04/10 全球购物
动物学专业毕业生求职信
2013/10/11 职场文书
小学社团活动总结
2014/06/27 职场文书
公民授权委托书范本
2014/09/17 职场文书
党的群众路线教育实践活动整改方案
2014/10/28 职场文书
工作建议书范文
2019/07/08 职场文书