如何通过js判断当前浏览器是360极速浏览器

发布于 2022-09-01 05:13:46 字数 347 浏览 16 评论 0

想通过js来判断当前浏览器类型,但是检测360极速浏览器时遇到问题,新版的360极速浏览器(8.1版本)表现形式跟普通的谷歌浏览器一模一样,完全是以假乱真的姿态,无法做区分。我参考了网上的教程:
1.jquery.ua
2.JavaScript区分Chrome,360安全浏览器和360极速浏览器
都失败了。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

揪着可爱 2022-09-08 05:13:46

问题已经解决,参见这个代码:https://github.com/cloudcome/...
演示地址:http://alien.ydr.me/examples/...
期间参考了@ShiFangJuMie 和@abrasumente 的建议。
//////////////////////////////////2016年11月13日更新////////////////////////////////////////
这两天我无意中看到了一个chrome插件的代码,他采用了权值的方式来判断当前是否是360或者chrome,值得借鉴:

var browser360 = {
    result: "Chrome",
    details: {
        Chrome: 5,
        Chromium: 0,
        _360SE: 0,
        _360EE: 0
    },
    sorted: ["Chrome", "360SE", "360EE", "Chromium"],
    check: function() {
        var init = {
            Chrome: 5,
            Chromium: 0,
            _360SE: 0,
            _360EE: 0
        };
        var plugins = window.navigator.plugins;
        var webstore = window.chrome.webstore;
        var webstoreLen = Object.keys(webstore).length;
        var pluginsLen = plugins.length;

        if (window.clientInformation.languages ||
            (init._360SE += 8), /zh/i.test(navigator.language) &&
            (init._360SE += 3, init._360EE += 3), window.clientInformation.languages) {
            var lanLen = window.clientInformation.languages.length;
            if (lanLen >= 3) {
                (init.Chrome += 10, init.Chromium += 6);
            } else if (2 == lanLen) {
                init.Chrome += 3, init.Chromium += 6, init._360EE += 6;
            } else if (1 == lanLen) {
                init.Chrome += 4, init.Chromium += 4;
            }

        }
        var pluginFrom,
            maybe360 = 0;
        for (var r in plugins) {
            if (pluginFrom = /^(.+) PDF Viewer$/.exec(plugins[r].name)) {
                if ("Chrome" == pluginFrom[1]) {
                    init.Chrome += 6,
                        init._360SE += 6,
                        maybe360 = 1;

                } else if ("Chromium" == pluginFrom[1]) {
                    init.Chromium += 10,
                        init._360EE += 6,
                        maybe360 = 1;

                }
            } else if ("np-mswmp.dll" == plugins[r].filename) {
                init._360SE += 20, init._360EE += 20;
            }
        }

        maybe360 || (init.Chromium += 9);
        if (webstoreLen <= 1) {
            init._360SE += 7;
        } else {
            init._360SE += 4;
            init.Chromium += 3;
            if (pluginsLen >= 30) {
                init._360EE += 7, init._360SE += 7, init.Chrome += 7;
            } else if (pluginsLen < 30 && pluginsLen > 10) {
                init._360EE += 3, init._360SE += 3, init.Chrome += 3;
            } else {
                init.Chromium += 6;
            }
        }
        var m = new Object();
        m.Chrome = init.Chrome,
            m.Chromium = init.Chromium,
            m["360SE"] = init._360SE,
            m["360EE"] = init._360EE;
        var s = [];
        for (var u in m) {
            s.push([u, m[u]]);
        }
        s.sort(function(e, i) {
            return i[1] - e[1]
        });
        this.sorted = s;
        this.details = init;
        this.result = s[0][0];

        return this.result;
    }
};
// chrome
if (window.clientInformation && window.clientInformation.languages && window.clientInformation.languages.length > 2) {
    return 'chrome';
}
var p = navigator.platform.toLowerCase();
if (p.indexOf('mac') == 0 || p.indexOf('linux') == 0) {
    return 'chrome';
}
return browser360.check();

/////////////////////////////////////////2019.5.20更新///////////////////////
完成代码已经整合到github上:https://github.com/yunnysunny...

三月梨花 2022-09-08 05:13:46

然而本身浏览器的判断变成360ee版

哎呦我呸! 2022-09-08 05:13:46

建议不要做浏览器检测,做能力检测吧!区别浏览器没太大的意义。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文