通过 Javascript 检测新的 Microsoft Edge v80 (Blink) 的正确方法是什么?

2023-12-02

由于最新版本的 Microsoft Edge 是out并使用 Blink - 使用 javascript 区分旧边缘和新边缘的正确方法是什么?

enter image description here

目前我计划研究一下navigator.userAgent检查旧版本的 Edge(最多 18 个)

const isOldEdge = /edge\/([0-1][0-8]|[0-9]\D)/.test(navigator.userAgent.toLowerCase());

这是正确的检测方法吗?


我建议你使用窗口导航器userAgent 检查浏览器是 Microsoft Chromium Edge 还是 MS Edge (EdgeHtml)。

Edge(EdgeHtml)浏览器userAgent:

mozilla/5.0 (windows nt 10.0; win64; x64) applewebkit/537.36 (khtml, 像壁虎)铬/70.0.3538.102 safari/537.36边缘/18.18362

Microsoft Chromium Edge 用户代理:

mozilla/5.0 (windows nt 10.0; win64; x64) applewebkit/537.36 (khtml, 像壁虎)chrome/80.0.3987.87 safari/537.36 edg/80.0.361.50

示例代码:

<!doctype html>
<html>
<head>
<title>Test demo</title>
</head>
<body>
<script>
    var browser = (function (agent) {
        switch (true) {
            case agent.indexOf("edge") > -1: return "MS Edge (EdgeHtml)";
            case agent.indexOf("edg") > -1: return "MS Edge Chromium";
            case agent.indexOf("opr") > -1 && !!window.opr: return "opera";
            case agent.indexOf("chrome") > -1 && !!window.chrome: return "chrome";
            case agent.indexOf("trident") > -1: return "Internet Explorer";
            case agent.indexOf("firefox") > -1: return "firefox";
            case agent.indexOf("safari") > -1: return "safari";
            default: return "other";
        }
    })(window.navigator.userAgent.toLowerCase());
    document.body.innerHTML =  "This is " + browser + " browser." + "<br><br>" + window.navigator.userAgent.toLowerCase();
</script>
</body>
</html>

MS Edge (EdgeHtml) 浏览器中的输出:

enter image description here

MS Edge Chromium 浏览器中的输出:

enter image description here

参考:

如何在 Javascript 中检测 Microsoft Chromium Edge(chredge、edgium)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 Javascript 检测新的 Microsoft Edge v80 (Blink) 的正确方法是什么? 的相关文章

随机推荐