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 相关文章推荐
window.location.reload()方法刷新页面弹出要再次显示该网页对话框
Apr 24 Javascript
JS设置获取cookies的方法
Jan 26 Javascript
JS的encodeURI和java的URLDecoder.decode使用介绍
May 08 Javascript
详解JavaScript中Date.UTC()方法的使用
Jun 12 Javascript
javascript实现超炫的向上滑行菜单实例
Aug 03 Javascript
详解vue-cli 脚手架项目-package.json
Jul 04 Javascript
浅析JavaScript中的平稳退化(graceful degradation)
Jul 24 Javascript
vue router下的html5 history在iis服务器上的设置方法
Oct 18 Javascript
浅析前端路由简介以及vue-router实现原理
Jun 01 Javascript
layer.open 按钮的点击事件关闭方法
Aug 17 Javascript
vue视频播放插件vue-video-player的具体使用方法
Nov 08 Javascript
vue 清空input标签 中file的值操作
Jul 21 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无限遍历目录示例
2014/02/21 PHP
laravel-admin 中列表筛选方法
2019/10/03 PHP
Javascript实例教程(19) 使用HoTMetal(1)
2006/12/23 Javascript
js实现的网站首页随机公告随机公告
2007/03/14 Javascript
JavaScript中的常见问题解决方法(乱码,IE缓存,代理)
2013/11/28 Javascript
点击标签切换和自动切换DIV选项卡
2014/08/10 Javascript
Knockout自定义绑定创建方法
2015/12/26 Javascript
详解Matlab中 sort 函数用法
2016/03/20 Javascript
利用JQuery直接调用asp.net后台的简单方法
2016/10/27 Javascript
JS识别浏览器类型(电脑浏览器和手机浏览器)
2016/11/18 Javascript
解决canvas画布使用fillRect()时高度出现双倍效果的问题
2017/08/03 Javascript
从零开始实现Vue简单的Toast插件
2018/12/03 Javascript
vue动态添加路由addRoutes之不能将动态路由存入缓存的解决
2019/02/19 Javascript
layui表格数据重载
2019/07/27 Javascript
vue配置nprogress实现页面顶部进度条
2019/09/21 Javascript
JS内置对象和Math对象知识点详解
2020/04/03 Javascript
vue使用axios实现excel文件下载的功能
2020/07/16 Javascript
详解uniapp的全局变量实现方式
2021/01/11 Javascript
vue动态设置路由权限的主要思路
2021/01/13 Vue.js
[06:21]完美世界亚洲区首席发行官竺琦TI3采访
2013/08/26 DOTA
python取代netcat过程分析
2018/02/10 Python
NumPy 数组使用大全
2019/04/25 Python
Python数组拼接np.concatenate实现过程
2020/04/18 Python
在ipython notebook中使用argparse方式
2020/04/20 Python
Python requests模块安装及使用教程图解
2020/06/30 Python
Python实现随机爬山算法
2021/01/29 Python
pandas统计重复值次数的方法实现
2021/02/20 Python
行政办公员自我评价分享
2013/12/14 职场文书
大专学生求职信
2014/07/04 职场文书
2014入党积极分子批评与自我批评思想报告
2014/10/06 职场文书
2014党的群众路线教育实践活动总结材料
2014/10/31 职场文书
2015年社区宣传工作总结
2015/05/20 职场文书
河童之夏观后感
2015/06/11 职场文书
古诗之感恩老师
2019/10/24 职场文书
CSS使用伪类控制边框长度的方法
2022/01/18 HTML / CSS
JS轻量级函数式编程实现XDM三
2022/06/16 Javascript