user-agent在一些浏览器上的表现

windows7操作系统

IE8:

Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E; Tablet PC 2.0; InfoPath.2)

firefox 32.0.3:

Mozilla/5.0 (Windows NT 6.1; rv:32.0) Gecko/20100101 Firefox/32.0

Google Chrome 版本 37.0.2062.124 m

Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.124 Safari/537.36

360 6.3.1.196:

Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1

Opera 24.0 24.0.1558.64 - Opera 为最新版本:

Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.122 Safari/537.36 OPR/24.0.1558.64 (Edition Baidu)

其中目前主要就是三种内核 IE自己的Trident 以及webkit和Gecko,webkit就是以chrome和safari为代表,opera也是转投webkit。
opera内核介绍:
from 维基百科:

Presto 是一个由 Opera Software 开发的浏览器排版引擎,供 Opera 7.0-12.16版本使用。

Presto 取代了旧版 Opera 4至6版本使用的 Elektra 排版引擎,包括加入动态功能,例如网页或其部分可随着 DOM 及 Script 语法的事件而重新排版。Presto 从12.16版本后被Blink取代,Opera宣称为了更好的追求效果,而不是去维护内核。

Presto 在推出后不断有更新版本推出,使不少错误得以修正,以及阅读 JavaScript 效能得以最佳化。

2013年2月13日,Opera Software宣布未来产品将以Webkit和V8为主,逐步放弃使用基于Presto引擎的产品。

检测浏览器:在windows上实际上也就主要区分google/firefox/IE 以及那些宣讲的多内核 其user-agent是比较乱七八糟了,下面是简单检测实例:
//浏览器方式检测
//1.使用对象特征检测2.使用user-agent方式进行检测
var sAppName;
var sUserAgent = navigator.userAgent;
var fAppVersion = parseFloat(navigator.appVersion);
//检测opera浏览器
var isOperaNew = isOperaOld = sUserAgent.indexOf("Opera") > -1;
if (!isOperaOld) {
    //Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.122 Safari/537.36 OPR/24.0.1558.64 (Edition Baidu)
    isOperaNew = sUserAgent.indexOf("OPR") > -1;
}
if (isOperaOld || isOperaNew) {
    sAppName = "opera";
    var fOperaVersion;
    //未使用伪装下的opera浏览器
    if (navigator.appName == "Opera") {
        fOperaVersion = fAppVersion;
    } else { 
        //老的opera浏览器的user-agent
        if (isOperaOld) {
            sAppName += "Old";
            var regOperaVersionOld = new RegExp("Opera (^\\d+(\\.\\d+)*)");
            regOperaVersionOld.test(sUserAgent);
            fOperaVersion = parseFloat(RegExp["$1"]);
        } else if (isOperaNew) {
            sAppName += "New";
            var regOperaVersionNew = new RegExp("OPR/(\\d+\\.\\d+)");
            regOperaVersionNew.test(sUserAgent);
            fOperaVersion = parseFloat(RegExp["$1"]);        
        }
    }
    fAppVersion = fOperaVersion;
}
//检测opera浏览器结束********************************************

//检测IE浏览器
var isIE = sUserAgent.indexOf("compatible") > -1 && sUserAgent.indexOf("MSIE") > -1 && !isOperaOld && !isOperaNew
//MSIE 8.0
if (isIE) {
    var regIE = new RegExp("MSIE (\\d+(\\.\\d+)*)");
    regIE.test(sUserAgent);
    var fIEVersion = parseFloat(RegExp["$1"]);
    sAppName = "IE";
    fAppVersion = fIEVersion;
}
//检测IE浏览器结束***********************************************

//检测Mozilla 
//Mozilla/5.0 (Windows NT 6.1; rv:32.0) Gecko/20100101 Firefox/32.0
var isMozilla = sUserAgent.indexOf("Gecko") > -1 && sUserAgent.indexOf("like Gecko") == -1;
if (isMozilla) {
    var regMozilla = new RegExp("rv:(\\d+(\\.\\d+)*)");
    regMozilla.test(sUserAgent);
    var fMozillaVersion = parseFloat(RegExp["$1"]);
    sAppName = "Mozilla";
    fAppVersion = fMozillaVersion;
    //判断FireFox
    var isMozilla = sUserAgent.indexOf("Gecko") > -1 && sUserAgent.indexOf("FireFox") > -1;
    if (isMozilla) {
        sAppName = "Firefox";
    }
}
//检测Mozilla浏览器结束***********************************************
alert(sAppName);
alert(fAppVersion);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
目前市面上绝大部分流行的浏览器手机版本都会带有User-Agent头信息。User-Agent是HTTP请求头的一部分,用于标识浏览器的身份和版本信息。 当使用手机浏览器下载应用程序时,浏览器会在HTTP请求的头信息中加入User-Agent字段。这个字段包含了浏览器的相关信息,比如浏览器的名称、版本、操作系统以及设备类型等。这样,服务器就可以根据User-Agent字段来判断访问者使用的浏览器和设备类型,以便返回相应的数据和页面。 例如,若使用iOS设备自带的Safari浏览器下载应用程序,User-Agent字段可能如下所示: "Mozilla/5.0 (iPhone; CPU iPhone OS 12_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.0 Mobile/15E148 Safari/604.1" 这个User-Agent字段表明了用户使用的是iPhone设备,搭载iOS 12操作系统,浏览器为Safari,版本为12.0。 利用这个User-Agent信息,服务器可以根据不同的浏览器和设备类型来返回相应的下载链接或者提供适配的下载方式。手机浏览器中通过点击下载按钮,会触发浏览器检测User-Agent,然后根据该信息决定是否要跳转或显示下载链接。这样就能保证用户使用手机浏览器下载应用程序的顺利进行。 总而言之,有了User-Agent字段,手机浏览器可以根据不同的浏览器和设备类型,以及其相关信息,来提供适配的下载方式,从而更好地满足用户的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值