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 相关文章推荐
CSS和JS标签style属性对照表(方便js开发的朋友)
Nov 11 Javascript
JSONP 跨域访问代理API-yahooapis实现代码
Dec 02 Javascript
基于jquery实现的可编辑下拉框实现代码
Aug 02 Javascript
Javascript字符串浏览器兼容问题分析
Dec 01 Javascript
JavaScript创建闭包的两种方式的优劣与区别分析
Jun 22 Javascript
jQuery提示插件qTip2用法分析(支持ajax及多种样式)
Jun 08 Javascript
JS HTML5拖拽上传图片预览
Jul 18 Javascript
Node.js配合node-http-proxy解决本地开发ajax跨域问题
Aug 31 Javascript
浅谈JS函数定义方式的区别
Oct 30 Javascript
Vue组件化通讯的实例代码
Jun 23 Javascript
jQuery实现可以计算进制转换的计算器
Oct 19 jQuery
vuex页面刷新导致数据丢失的解决方案
Dec 10 Vue.js
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删除HTMl标签的三种解决方法
2013/06/30 PHP
codeigniter自带数据库类使用方法说明
2014/03/25 PHP
PHP实现图片自动清理的方法
2015/07/08 PHP
javascript 延迟加载技术(lazyload)简单实现
2011/01/17 Javascript
javascript算法学习(直接插入排序)
2011/04/12 Javascript
js 获取页面高度和宽度兼容 ie firefox chrome等
2014/05/14 Javascript
jquery+css3打造一款ajax分页插件(自写)
2014/06/18 Javascript
JavaScript使用ActiveXObject访问Access和SQL Server数据库
2015/04/02 Javascript
jQuery实现的类似淘宝网站搜索框样式代码分享
2015/08/24 Javascript
总结AngularJS开发者最常犯的十个错误
2016/08/31 Javascript
基于JavaScript实现自动更新倒计时效果
2016/12/19 Javascript
js实现模糊匹配功能
2017/02/15 Javascript
JS+HTML5 FileReader实现文件上传前本地预览功能
2020/03/27 Javascript
jQuery Layer弹出层传值到父页面的实现代码
2017/08/17 jQuery
JavaScript实现的原生态兼容IE6可调可控滚动文字功能详解
2017/09/19 Javascript
使用socket.io实现简单聊天室案例
2018/01/02 Javascript
JS实现基于拖拽改变物体大小的方法
2018/01/23 Javascript
Vue.js 图标选择组件实践详解
2018/12/03 Javascript
vue-cli中安装方法(图文详细步骤)
2018/12/12 Javascript
JavaScript实现的开关灯泡点击切换特效示例
2019/07/08 Javascript
Vue实现数据表格合并列rowspan效果
2020/11/30 Javascript
jQuery实现简单聊天室
2020/02/08 jQuery
小程序点餐界面添加购物车左右摆动动画
2020/09/23 Javascript
springboot+vue实现文件上传下载
2020/11/17 Vue.js
python实现class对象转换成json/字典的方法
2016/03/11 Python
python 队列详解及实例代码
2016/10/18 Python
python Opencv将图片转为字符画
2021/02/19 Python
python 移除字符串尾部的数字方法
2018/07/17 Python
python二分法查找算法实现方法【递归与非递归】
2019/12/06 Python
python实现提取str字符串/json中多级目录下的某个值
2020/02/27 Python
详解CSS3选择器:nth-child和:nth-of-type之间的差异
2017/09/18 HTML / CSS
MCM英国官网:奢侈皮具制品
2017/04/18 全球购物
信息管理员岗位职责
2013/12/01 职场文书
自我鉴定总结
2014/03/24 职场文书
财务部副经理岗位职责范本
2014/06/17 职场文书
2014年法制宣传日活动方案
2014/11/02 职场文书