god*_*rry 3 javascript microsoft-edge
由于最新版本的 Microsoft Edge 已发布并使用 Blink - 使用 javascript 区分旧 Edge 和新 Edge 的正确方法是什么?
目前我计划navigator.userAgent检查是否有旧版本的 Edge(最多 18 个)
const isOldEdge = /edge\/([0-1][0-8]|[0-9]\D)/.test(navigator.userAgent.toLowerCase());
Run Code Online (Sandbox Code Playgroud)
这是检测它的正确方法吗?
我建议你使用window.navigator userAgent 来检查浏览器是 Microsoft Chromium Edge 还是 MS edge (EdgeHtml)。
Edge(EdgeHtml)浏览器userAgent:
mozilla/5.0 (windows nt 10.0; win64; x64) applewebkit/537.36 (khtml, like gecko) chrome/70.0.3538.102 safari/537.36 edge/18.18362
Microsoft Chromium Edge 用户代理:
mozilla/5.0 (windows nt 10.0; win64; x64) applewebkit/537.36 (khtml, like gecko) 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>Run Code Online (Sandbox Code Playgroud)
MS edge (EdgeHtml) 浏览器中的输出:
MS edge Chromium 浏览器中的输出:
参考:
如何在 Javascript 中检测 Microsoft Chromium Edge (chredge , edgium)
| 归档时间: |
|
| 查看次数: |
4024 次 |
| 最近记录: |