×

判断浏览器类型的汇总

作者:jiang2018.09.20来源:Web前端之家浏览:13201评论:0
关键词:浏览器类型

在做项目的时候,经常会遇到兼容问题,我们可以JS来判断浏览器类型,然后进行一些兼容处理。

    var browser={
        versions:function(){
        var u = window.navigator.userAgent;
        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, //火狐内核
            mobile: !!u.match(/AppleWebKit.*Mobile.*/)||!!u.match(/AppleWebKit/), //是否为移动终端
            ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
            android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器
            iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者安卓QQ浏览器
            iPad: u.indexOf('iPad') > -1, //是否为iPad
            webApp: u.indexOf('Safari') == -1 ,//是否为web应用程序,没有头部与底部
            weixin: u.indexOf('MicroMessenger') == -1 //是否为微信浏览器
            };
        }()
    }
document.writeln(" 是否为移动终端: "+browser.versions.mobile+"<br>");
document.writeln(" ios终端: "+browser.versions.ios+"<br>");
document.writeln(" android终端: "+browser.versions.android+"<br>");
document.writeln(" 是否为iPhone: "+browser.versions.iPhone+"<br>");
document.writeln(" 是否iPad: "+browser.versions.iPad+"<br>");
// document.writeln(navigator.userAgent);
document.writeln(" IE内核: "+browser.versions.trident+"<br>");
document.writeln(" opera内核: "+browser.versions.presto+"<br>");
document.writeln(" 苹果、谷歌内核: "+browser.versions.webKit+"<br>");
document.writeln(" 火狐内核: "+browser.versions.gecko+"<br>");

谷歌浏览器:
1.jpg

360浏览器(兼容模式):
3.jpg

360浏览器(极速模式):

4.jpg

qq浏览器(极速模式):

5.jpg

ie浏览器:

095509jlz8qq5n77awlghf.jpg

综合来看,基本的正确,就是在判断是否为移动终端的时候,判断不清楚,我也不知道什么原因,但是基本判断是否为ie,作用还是可以的。

    var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
    var isOpera = userAgent.indexOf("Opera") > -1;
    //判断是否Opera浏览器
    if (isOpera) {
        console.log("Opera");
    }; 
    //判断是否Firefox浏览器
    if (userAgent.indexOf("Firefox") > -1) {
        console.log("FF");
    } 
    //判断是否chorme浏览器
    if (userAgent.indexOf("Chrome") > -1){
        console.log("Chrome");
    }
    //判断是否Safari浏览器
    if (userAgent.indexOf("Safari") > -1) {
        console.log("Safari");
    } 
    //判断是否IE浏览器
    if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
        console.log("IE");
    }
    //判断是否Edge浏览器
    if (userAgent.indexOf("Trident") > -1) {
        console.log("Edge");
    };

这一段基本能判断是什么浏览器,我使用这个主要是区分ie模式和非ie模式的时候,目前ie浏览器分ie和edge。

最后

1.navigator.appCodeName:可以在开发者工具中在console下输入navigator.appCodeName,回车即可返回浏览器产品代号
2.var userAgent = navigator.userAgent:取得浏览器的userAgent字符串,用来判断浏览器类型

您的支持是我们创作的动力!
温馨提示:本文作者系 ,经Web前端之家编辑修改或补充,转载请注明出处和本文链接:
https://jiangweishan.com/article/liulanqi28402384028304.html

网友评论文明上网理性发言 已有0人参与

发表评论: