“ Edge 75”将是(是)第一个基于Chromium的Edge浏览器。如何检查此浏览器是否为Chrome上的Edge?
(我真正想知道的是,浏览器是否完全支持data-uri的https://caniuse.com/#feat=datauri-因此功能检测甚至会更好。如果您知道这样做的方法,那么我可以更改问题)< / p>
答案 0 :(得分:5)
使用CanIUse,这是最普遍的功能,在旧版Edge(使用EdgeHtml引擎)上不受支持,但在Edge Chromium和其他所有地方(IE除外)受支持,是 reversed attribute on an OL list 。此属性的优点是在其他所有条件下均受支持。
(这是我发现的唯一一个涵盖所有其他浏览器(包括Opera Mini)的浏览器;如果您不用担心,这里有plenty of others。)
因此,您可以使用简单的功能检测来查看您是否在Old Edge(或IE)上-
var isOldEdgeOrIE = !('reversed' in document.createElement('ol'));
答案 1 :(得分:1)
您可以使用window.navigator userAgent检查浏览器是Microsoft Chromium Edge还是Chrome。
代码如下:
<script>
var browser = (function (agent) {
switch (true) {
case agent.indexOf("edge") > -1: return "edge";
case agent.indexOf("edg") > -1: return "chromium based edge (dev or canary)";
case agent.indexOf("opr") > -1 && !!window.opr: return "opera";
case agent.indexOf("chrome") > -1 && !!window.chrome: return "chrome";
case agent.indexOf("trident") > -1: return "ie";
case agent.indexOf("firefox") > -1: return "firefox";
case agent.indexOf("safari") > -1: return "safari";
default: return "other";
}
})(window.navigator.userAgent.toLowerCase());
document.body.innerHTML = window.navigator.userAgent.toLowerCase() + "<br>" + browser;
</script>
Chrome浏览器的userAgent:
mozilla / 5.0(Windows nt 10.0; win64; x64)applewebkit / 537.36(khtml, 像壁虎)chrome / 74.0.3729.169 safari / 537.36
Edge浏览器userAgent:
mozilla / 5.0(Windows nt 10.0; win64; x64)applewebkit / 537.36(khtml, 像壁虎)chrome / 64.0.3282.140 safari / 537.36 edge / 18.17763
Microsoft Chromium Edge Dev userAgent:
mozilla / 5.0(Windows nt 10.0; win64; x64)applewebkit / 537.36(khtml, 像壁虎)chrome / 76.0.3800.0 safari / 537.36 edg / 76.0.167.1
Microsoft Chromium Edge Canary userAgent:
mozilla / 5.0(Windows nt 10.0; win64; x64)applewebkit / 537.36(khtml, 像壁虎)chrome / 76.0.3800.0 safari / 537.36 edg / 76.0.167.1
我们可以看到Microsoft Chromium Edge userAgent包含“ edg ”关键字,我们可以使用它来检测浏览器是Chromium Edge浏览器还是Chrome浏览器。
答案 2 :(得分:1)
由于我从另一端发现了这个问题,如何实际检查是否使用了铬前边缘,所以我找到了以下解决方案(包括IE检查):
// Edge < 18
if (window.navigator.userAgent.indexOf('Edge') !== -1) {
return true;
}
// IE 11
if (window.document.documentMode) {
return true;
}
// IE 10
if (navigator.appVersion.indexOf('MSIE 10') !== -1) {
return true;
}
return false;