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 相关文章推荐
下载网站打开页面后间隔多少时间才显示下载链接地址的代码
Apr 25 Javascript
得到jQuery detach()后节点中的某个值实现代码
Feb 05 Javascript
node.js中的querystring.stringify方法使用说明
Dec 10 Javascript
jQuery中outerHeight()方法用法实例
Jan 19 Javascript
jquery+Jscex打造游戏力度条
Sep 12 Javascript
JS实现仿饿了么在浏览器标签页失去焦点时网页Title改变
Jun 01 Javascript
JavaScript实现简单的双色球(实例讲解)
Jul 31 Javascript
简单了解vue.js数组的常用操作
Jun 17 Javascript
javascript设计模式 ? 外观模式原理与用法实例分析
Apr 15 Javascript
Vue通过getAction的finally来最大程度避免影响主数据呈现问题
Apr 24 Javascript
JavaScript实现沿五角星形线摆动的小圆实例详解
Jul 28 Javascript
原生js canvas实现鼠标跟随效果
Aug 02 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同时支持GIF、png、JPEG
2006/10/09 PHP
php中3des加密代码(完全与.net中的兼容)
2012/08/02 PHP
PHP中使用foreach和引用导致程序BUG的问题介绍
2012/09/05 PHP
PHP中文编码小技巧
2014/12/25 PHP
Yii中表单用法实例详解
2016/01/05 PHP
php mysql like 实现多关键词搜索的方法
2016/10/29 PHP
Jquery优化效率 提升性能解决方案
2010/09/06 Javascript
js获取url参数值的两种方式
2013/09/10 Javascript
jQuery遍历之next()、nextAll()方法使用实例
2014/11/08 Javascript
javascript结合CSS实现苹果开关按钮特效
2015/04/07 Javascript
js实现星星打分效果的方法
2020/07/05 Javascript
JavaScript基于ajax编辑信息用法实例
2015/07/15 Javascript
Node.js返回JSONP详解
2016/05/18 Javascript
JavaScript实现水平进度条拖拽效果
2017/01/18 Javascript
详解nodeJS中读写文件方法的区别
2017/03/06 NodeJs
vue父组件异步获取数据传给子组件的方法
2018/07/26 Javascript
jQuery中实现text()的方法
2019/04/04 jQuery
this.$toast() 了解一下?
2019/04/18 Javascript
vue开发中遇到的问题总结
2020/04/07 Javascript
vue.js 输入框输入值自动过滤特殊字符替换中问标点操作
2020/08/31 Javascript
[32:36]完美世界DOTA2联赛PWL S3 LBZS vs CPG 第二场 12.12
2020/12/16 DOTA
python3 shelve模块的详解
2017/07/08 Python
python区块及区块链的开发详解
2019/07/03 Python
html5教你做炫酷的碎片式图片切换 (canvas)
2017/07/28 HTML / CSS
Prototype如何为一个Ajax添加一个参数
2015/12/06 面试题
学生就业推荐信
2013/11/13 职场文书
幼儿园元旦家长感言
2014/02/27 职场文书
计算机应用专业毕业生求职信
2014/06/03 职场文书
2014年巴西世界杯口号
2014/06/05 职场文书
对照检查剖析材料
2014/09/30 职场文书
幼儿园感恩节活动方案
2014/10/06 职场文书
2014年个人业务工作总结
2014/11/17 职场文书
教师求职简历自我评价
2015/03/10 职场文书
2015年五一劳动节演讲稿
2015/03/18 职场文书
社区干部培训心得体会
2016/01/06 职场文书
Go语言测试库testify使用学习
2022/07/23 Golang