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 小练习(实例代码)
Aug 07 Javascript
写js时遇到的一些小问题
Dec 06 Javascript
在jQuery1.5中使用deferred对象 着放大镜看Promise
Mar 12 Javascript
jquery动态更换设置背景图的方法
Mar 25 Javascript
jQuery扁平化风格下拉框美化插件FancySelect使用指南
Feb 10 Javascript
JavaScript获取按钮所在form表单id的方法
Apr 02 Javascript
JavaScript编写Chrome扩展实现与浏览器的交互及时间通知
May 16 Javascript
jQuery 判断是否包含在数组中Array[]的方法
Aug 03 Javascript
js 判断数据类型的几种方法
Jan 13 Javascript
javascript 单例模式详解及简单实例
Feb 14 Javascript
解决vue单页面应用中动态修改title问题
Jun 09 Javascript
vue输入框使用模糊搜索功能的实现代码
May 26 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
PHP4中session登录页面的应用
2008/07/25 PHP
php地址引用(php地址引用的效率问题)
2012/03/23 PHP
php合并数组中相同元素的方法
2014/11/13 PHP
js玩一玩WSH吧
2007/02/23 Javascript
JS 继承实例分析
2008/11/04 Javascript
jQuery 使用手册(二)
2009/09/23 Javascript
基于jquery实现的类似百度搜索的输入框自动完成功能
2011/08/23 Javascript
DWR实现模拟Google搜索效果实现原理及代码
2013/01/30 Javascript
setTimeout()与setInterval()方法区别介绍
2013/12/24 Javascript
排序算法的javascript实现与讲解(99js手记)
2014/09/28 Javascript
浅谈 javascript 事件处理
2015/01/04 Javascript
AngularJS中的表单简单入门
2016/07/28 Javascript
JS兼容所有浏览器的DOMContentLoaded事件
2018/01/12 Javascript
jQuery创建及操作xml格式数据示例
2018/05/26 jQuery
vue.js页面加载执行created,mounted的先后顺序说明
2020/11/07 Javascript
Vue 集成 PDF.js 实现 PDF 预览和添加水印的步骤
2021/01/22 Vue.js
[02:40]2014DOTA2 国际邀请赛中国区预选赛 四大豪门抵达华西村
2014/05/23 DOTA
[53:15]2018DOTA2亚洲邀请赛3月29日 小组赛A组 LGD VS TNC
2018/03/30 DOTA
python连接mysql并提交mysql事务示例
2014/03/05 Python
python在新的图片窗口显示图片(图像)的方法
2019/07/11 Python
python 实现两个线程交替执行
2020/05/02 Python
Java如何基于wsimport调用wcf接口
2020/06/17 Python
英国高档百货连锁店:John Lewis
2017/11/20 全球购物
新郎新娘婚礼答谢词
2014/01/11 职场文书
信息总监管理职责范本
2014/03/08 职场文书
市政工程技术专业自荐书
2014/07/06 职场文书
艺术学院毕业生求职信
2014/07/09 职场文书
优秀团员事迹材料2000字
2014/08/20 职场文书
公司行政专员岗位职责
2014/08/24 职场文书
践行三严三实心得体会
2014/10/13 职场文书
简单的辞职信范文(2016最新版)
2015/05/12 职场文书
2015年文秘个人工作总结
2015/10/14 职场文书
2019年怎样才能撰写出优秀的自荐信
2019/03/25 职场文书
创业计划书之儿童理发店
2019/09/27 职场文书
DIV CSS实现网页背景半透明效果
2021/12/06 HTML / CSS
CSS浮动引起的高度塌陷问题
2022/08/05 HTML / CSS