文档章节

Navigator 对象

zwjjap
 zwjjap
发布于 2016/10/09 11:15
字数 669
阅读 16
收藏 0

 Navigator 对象属性

var appCodeName = navigator.appCodeName //返回浏览器的代码名。

var appMinorVersion = navigator.appMinorVersion //返回浏览器的次级版本。

var appName= navigator.appName//返回浏览器的名称。

var appVersion= navigator.appVersion//返回浏览器的平台和版本信息。

var browserLanguage= navigator.browserLanguage//返回当前浏览器的语言。
    language:返回当前的浏览器语言(来自 Mozilla Developer Center)
    userLanguage:返回操作系统设定的自然语言(来自 MSDN)
    browserLanguage:返回当前的浏览器语言(来自 MSDN)
    systemLanguage:返回当前操作系统的缺省语言(来自 MSDN)




var platform= navigator.platform//返回运行浏览器的操作系统平台。


var userAgent= navigator.userAgent//返回由客户机发送服务器的 user-agent 头部的值。返回由客户机发送服务器的 user-agent 头部的值。 /*userAgent 属性是一个只读的字符串,声明了浏览器用于 HTTP 请求的用户代理头的值。
一般来讲,它是在 navigator.appCodeName 的值之后加上斜线和 navigator.appVersion 的值构成的。
例如:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)。*/
                                                                                                                      

// toLowerCase() 方法用于把字符串转换为小写。

pc端:

ua = navigator.userAgent.toLowerCase(),
check = function(r){
    return r.test(ua);
},
isStrict = document.compatMode == "CSS1Compat",
isOpera = check(/opera/),
isChrome = check(/chrome/),
isWebKit = check(/webkit/),
isSafari = !isChrome && check(/safari/),
isSafari3 = isSafari && check(/version3/),
isSafari4 = isSafari && check(/version4/),
isIE = !isOpera && check(/msie/),
isIE7 = isIE && check(/msie 7/),
isIE8 = isIE && check(/msie 8/),
isGecko = !isWebKit && check(/gecko/),
isGecko3 = isGecko && check(/rv:1.9/),
isBorderBox = isIE && !isStrict,
isWindows = check(/windows|win32/),
isMac = check(/macintosh|mac os x/),
isAir = check(/adobeair/),
isLinux = check(/linux/)
var browser={
    versions:function(){
        var u = navigator.userAgent.toLowerCase();
        return {
            trident: u.indexOf('Trident') > -1, //IE内核
            presto: u.indexOf('Presto') > -1, //opera内核
            webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
            gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,//火狐内核

        };
    }(),
    language:(navigator.browserLanguage || navigator.language).toLowerCase()
}

使用方法:
//判断是否IE内核
if(browser.versions.trident){ alert("is IE"); }
//判断是否webKit内核
if(browser.versions.webKit){ alert("is webKit"); }
//判断是否移动端
if(browser.versions.mobile||browser.versions.android||browser.versions.ios){ alert("移动端"); }
function userBrowser(){  
    var browserName=navigator.userAgent.toLowerCase();  
    if(/msie/i.test(browserName) && !/opera/.test(browserName)){  
        var browser = "IE";
        return browser ;  
    }else if(/firefox/i.test(browserName)){  
        var browser = "Firefox"; 
        return browser;  
    }else if(/chrome/i.test(browserName) && /webkit/i.test(browserName) && /mozilla/i.test(browserName)){  
        var browser = "Chrome";  
        return browser ;  
    }else if(/opera/i.test(browserName)){  
        var browser = "Opera";  
        return browser ;  
    }else if(/webkit/i.test(browserName) &&!(/chrome/i.test(browserName) && /webkit/i.test(browserName) && /mozilla/i.test(browserName))){  
        var browser = "Safari"; 
        return browser ;  
    }else{  
        var browser = "unKnow"; 
        return browser;  
    }  
}  

移动端:

//是否是微信浏览器
function isWeiXin(){ 
	var ua = window.navigator.userAgent.toLowerCase(); 
	if(ua.match(/MicroMessenger/i) == 'micromessenger'){ 
		return true; 
	}else{ 
		return false; 
	} 
} 
//判断手机端的浏览器

navigator.userAgent.match(/MQQBrowser.+(QQ|MicroMessenger)/i);

  or

navigator.userAgent.indexOf('QQBrowser') > -1
var browser={
    versions:function(){
        var u = navigator.userAgent.toLowerCase();
        return {
            mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
            ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
            android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android终端
            iPhone: u.indexOf('iPhone') > -1 , //是否为iPhone或者QQHD浏览器
            iPad: u.indexOf('iPad') > -1, //是否iPad
            webApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部
            weixin: u.indexOf('MicroMessenger') > -1, //是否微信 
            qq: u.match(/\sQQ/i) == " qq" //是否QQ
        };
    }(),
    language:(navigator.browserLanguage || navigator.language).toLowerCase()
}

 

参照:

http://fp-moon.iteye.com/blog/1142629

http://caibaojian.com/browser-ios-or-android.html

© 著作权归作者所有

zwjjap
粉丝 13
博文 198
码字总数 21945
作品 0
武汉
程序员
私信 提问

暂无文章

CentOS7.6中安装使用fcitx框架

内容目录 一、为什么要使用fcitx?二、安装fcitx框架三、安装搜狗输入法 一、为什么要使用fcitx? Gnome3桌面自带的输入法框架为ibus,而在使用ibus时会时不时出现卡顿无法输入的现象。 搜狗和...

技术训练营
昨天
5
0
《Designing.Data-Intensive.Applications》笔记 四

第九章 一致性与共识 分布式系统最重要的的抽象之一是共识(consensus):让所有的节点对某件事达成一致。 最终一致性(eventual consistency)只提供较弱的保证,需要探索更高的一致性保证(stro...

丰田破产标志
昨天
8
0
docker 使用mysql

1, 进入容器 比如 myslq1 里面进行操作 docker exec -it mysql1 /bin/bash 2. 退出 容器 交互: exit 3. mysql 启动在容器里面,并且 可以本地连接mysql docker run --name mysql1 --env MY...

之渊
昨天
10
0
python数据结构

1、字符串及其方法(案例来自Python-100-Days) def main(): str1 = 'hello, world!' # 通过len函数计算字符串的长度 print(len(str1)) # 13 # 获得字符串首字母大写的...

huijue
昨天
6
0
PHP+Ajax微信手机端九宫格抽奖实例

PHP+Ajax结合lottery.js制作的一款微信手机端九宫格抽奖实例,抽奖完成后有收货地址添加表单出现。支持可以设置中奖概率等。 奖品列表 <div class="lottery_list clearfix" id="lottery"> ......

ymkjs1990
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部