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动画对象支持加速、减速、缓入、缓出的实现代码
Sep 30 Javascript
通过javascript获取iframe里的值示例代码
Jun 24 Javascript
Javascript中的Callback方法浅析
Mar 15 Javascript
jQuery 3.0 的变化及使用方法
Feb 01 Javascript
jquery显示隐藏元素的实现代码
May 19 Javascript
基于JS实现导航条flash导航条
Jun 17 Javascript
Javascript OOP之面向对象
Jul 31 Javascript
AngularJS 表达式详解及实例代码
Sep 14 Javascript
vue中路由参数传递可能会遇到的坑
Dec 07 Javascript
如何解决React官方脚手架不支持Less的问题(小结)
Sep 12 Javascript
layui下拉列表select实现可输入查找的方法
Sep 28 Javascript
在vue中使用el-tab-pane v-show/v-if无效的解决
Aug 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打开文件fopen函数的使用说明
2013/07/05 PHP
php计算数组相同值出现次数的代码(array_count_values)
2015/01/20 PHP
php函数式编程简单示例
2019/08/08 PHP
通过js脚本复制网页上的一个表格的不错实现方法
2006/12/29 Javascript
国外Lightbox v2.03.3 最新版 下载
2007/10/17 Javascript
jquery tablesorter.js 支持中文表格排序改进
2009/12/09 Javascript
跨浏览器的 mouseenter mouseleave 以及 compareDocumentPosition的使用说明
2010/05/04 Javascript
php的文件上传入门教程(实例讲解)
2014/04/10 Javascript
如何在Linux上安装Node.js
2016/04/01 Javascript
简易的JS计算器实现代码
2016/10/18 Javascript
利用node.js搭建简单web服务器的方法教程
2017/02/20 Javascript
微信小程序 支付功能开发错误总结
2017/02/21 Javascript
AngularJS select设置默认值的实现方法
2017/08/25 Javascript
初探JavaScript 面向对象(推荐)
2017/09/03 Javascript
微信小程序slider组件使用详解
2018/01/31 Javascript
vue的传参方式汇总和router使用技巧
2018/05/22 Javascript
Bootstrap table表格初始化表格数据的方法
2018/07/25 Javascript
使用Vue-scroller页面input框不能触发滑动的问题及解决方法
2020/08/08 Javascript
Python备份Mysql脚本
2008/08/11 Python
Python的Flask框架中Flask-Admin库的简单入门指引
2015/04/07 Python
浅谈Python类的__getitem__和__setitem__特殊方法
2016/12/25 Python
python 文件操作删除某行的实例
2017/09/04 Python
python模拟事件触发机制详解
2018/01/19 Python
使用Python-OpenCV向图片添加噪声的实现(高斯噪声、椒盐噪声)
2019/05/28 Python
一文秒懂python读写csv xml json文件各种骚操作
2019/07/04 Python
Django实现跨域请求过程详解
2019/07/25 Python
解决Pymongo insert时会自动添加_id的问题
2020/12/05 Python
采用冷却技术的超自然舒适度:GhostBed床垫
2018/09/18 全球购物
一些网络技术方面的面试题
2014/05/01 面试题
大学生找工作求职信
2014/07/09 职场文书
乡镇四风对照检查材料
2014/08/31 职场文书
纪念九一八事变演讲稿:青少年应树立远大理想
2014/09/14 职场文书
涉外离婚协议书怎么写
2014/11/20 职场文书
居委会工作总结2015
2015/05/18 职场文书
清明扫墓感想
2015/08/11 职场文书
禁毒主题班会教案
2015/08/14 职场文书