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

2023-11-22

“Edge 75”将(是?)第一个基于 Chromium 的 Edge 浏览器。如何检查该浏览器是否是 Chrome 上的 Edge?

(我真正想知道的是浏览器是否完全支持 data-uri 的 -https://caniuse.com/#feat=datauri- 所以特征检测会更好。如果您知道如何做到这一点,我可以更改问题)


您可以使用 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)"; // Match also / to avoid matching for the older Edge
            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浏览器用户代理:

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

Microsoft Chromium Edge Dev 用户代理:

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 用户代理:

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 浏览器。

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

如何在 Javascript 中检测 Microsoft Chromium Edge(chredge、edgium) 的相关文章

  • 为什么 Puppeteer 没有下载到 Windows 中“Page.setDownloadBehavior”指定的文件夹中?

    我使用下面的代码通过让 Puppeteer 单击发出事件的按钮来实现文件的下载 await page client send Page setDownloadBehavior behavior allow downloadPath temp
  • javascript date getYear() 在 IE 和 Firefox 之间返回不同的结果,如何解决这个问题?

    显然 javascript日期对象的方法 getYear 在 IE8 和 Firefox3 6 之间返回不同的结果 我的机器上有这两个 不确定其他浏览器或版本 Date d new Date alert d getYear FF3 6 gt
  • 尝试编译 Chromium 时出错

    我尝试使用命令ninja C out Debug chrome编译 Chromium 然而 错误消息指出 ninja error loading build ninja the system cannot find the file spe
  • IE/Edge 不应用转换:转换为表格行

    当添加 CSS 转换时 例如transform translate 0px 45px 对于表行 Internet Explorer 已测试 10 和 11 和 Microsoft Edge 无法正确显示转换 使用一些简单的代码作为示例 ta
  • Electron - 如何将 html 文件加载到当前窗口?

    我四处寻找 文档 谷歌等 了解如何在电子应用程序的主窗口中加载 html 文件 但我找不到方法 事情真的这么复杂还是这么简单 我想出的是ajax 因此有效 main load views details html 我发现的另一种方法是通过远
  • Opera 控制台中出现红色警告消息

    出现红色消息 大概是在浏览器自动更新之后 Warning 该区域仅供开发人员使用 众所周知 骗子会鼓励人们在此处复制 粘贴信息来破解帐户 如果您不确定 请不要继续 浏览器是 Opera 87 0 4390 36 似乎它不适用于 Chrome
  • Chrome 23 中的 Vibration API 隐藏在哪里?

    根据一个post http peter sh 2012 08 key bindings for extensions and media streams for the web audio api 在 Peter Beverloo 的博客上
  • 如何以编程方式检测浏览器如何处理 window.close()?

    不同的网络浏览器以不同的方式处理 window close 函数 IE 会提示用户进行确认 而 Firefox 和 Safari 则无法接受它 除非窗口最初是用 Javascript 打开的 并在控制台中显示一条消息说明同样的内容 我支持的
  • 如何在 Electron BrowserWindow 中查看 PDF?

    所以我有这个 Electron 应用程序 在一个 html 文件中 我链接了另一个脚本 该脚本为程序提供了一些实用功能 其中之一是 function openPDF filePath let pdfWindow new electron r
  • 驯服 Windows 10 Edge 浏览器中的自动电话号码功能

    即使系统上没有安装电话应用程序 Windows 10 的边缘浏览器似乎也会检测电话号码 它将电话号码格式化为带有下划线的蓝色 即使它只是在某个地方的纯文本中 在某些背景上很难看 而且它还检测到例如增值税号码就像电话号码一样 那么作为网站管理
  • Chrome 浏览器在从 selenium 加载后立即关闭

    我正在运行一个基本的 python 程序来打开 Chrome 窗口 但是一旦代码执行 该窗口就会在那里停留一秒钟 然后立即关闭 from selenium import webdriver import time browser webdr
  • 如何从伪元素 -internal-input-suggested 中删除样式?

    从版本来看76 0 3809 100在 Google Chrome 中 我有一个新的伪元素来自动完成输入 我想要自动完成功能 但我需要默认删除样式 div style display block important email protec
  • Electron 为触摸屏启用触摸事件

    我有一个连接到触摸屏的 Raspberry Pi 并通过 startx 命令在其上运行电子应用程序 startx electron app nocursor 我无法处理触摸事件 例如 touchstart touchend 的问题 显然这是
  • AWS Lambda 上的 Google-chrome

    是否可以在带有容器的 AWS Lambda 中使用 puppeteer 运行 Google chrome 而不是 Chromium 当我在浏览器中创建新页面时脚本卡住 const page await browser newPage 来自
  • Chrome toDataURI 错误

    直到大约一天前 Canvas2Image JS 库和 toDataURI JS 方法还可以在 Chrome 中使用 http www nihilogic dk labs canvas2image http www nihilogic dk
  • Google Chrome 106 可拖动导致元素消失

    使用拖放元素时 绝对定位元素中包含的大多数其他元素都会从屏幕上消失 如果我调整窗口大小 这些元素会出现 但在开始拖动时会再次消失 我在最新版本的 Google Chrome 106 和 Beta 版本 107 0 5304 18 以及现在的
  • Chromium 中的 MP4 编解码器支持

    我们已将 Chromium 嵌入式框架集成到我们的 Windows 游戏中 以允许我们从应用程序内渲染网页 并且一切正常 除了 MP4 视频 据我所知 由于许可问题 Chromium 不包含此编解码器 但任何人都可以提供有关我们如何添加支持
  • 使用 Angularjs,$http 在 Microsoft Edge 中发布返回响应错误

    好吧 当我开发一个管理页面进行测试时 Microsoft Edge 中出现了一个奇怪的问题 这是从loginCtrl js服务器获取响应的部分源代码 http method POST url Define apiUrl admin logi
  • PHP-向某些浏览器显示消息

    我已经搜索过这个 我发现的一切都超出了我的需要 我以前用 JavaScript 做过这个 但我真的更喜欢使用 PHP 我将如何根据访问者使用的浏览器向他们显示消息 Example IE 用户会看到 您正在使用 Internet Explor
  • 如何使用 JavaScript 定位 Edge 浏览器

    我知道您应该尽可能进行功能检测 但是您可以在 Javascript 中检测浏览器是否是 Microsoft Edge 浏览器吗 我维护一个旧产品 并且想显示一个警告 表明某些功能可能会被破坏 而无需投入大量时间来修复旧代码 尝试检测功能而不

随机推荐

  • 如何在discord.js中通过ID查找用户

    我希望我的机器人能够为使用其 ID 声明的特定用户赋予特定角色 我试过 const user bot users cache get args 2 user roles add role ID 你在这里遇到的问题是你得到了一个User对象而
  • HTML Canvas:同时绘制多个 getContext

    我正在使用 websockets 构建一个工具 该工具允许多个用户在彼此的画布上 绘图 用户在画布上绘图 包含 mousedown mouseup 事件和坐标的对象会立即推送给其他用户 然后将其绘制在他们的画布上 这给出了多个用户在同一个地
  • hidesBottomBarWhenPushed 在 iOS 7 中被忽略

    这段代码在 iOS 7 发布之前一直运行良好 我正在分配一个UIViewController with hidesBottomBarWhenPushed as YES 作为rootViewController of an UINavigat
  • 部署 ASP.NET 网站并更新 MSSQL 数据库,零停机时间

    我对 ASP NET 网站和 MSSQL 数据库部署有疑问 我们正在托管 ASP NET 网站并开发了新版本 一些 ASP NET 文件已更改 数据库也进行了一些修改 在不停机的情况下上传新版本网站和升级 MSSQL 数据库的最佳理由是什么
  • 编程错误-sqlalchemy-on_conflict_do_update

    按照此question 正如 Ilja Everil 在他的书中提到的answer 我创建了一个表对象 from sqlalchemy import metadata MetaData idTagTable Table id tag met
  • 如何传递 Terraform S3 后端资源的变量?

    terraform backend s3 bucket mybucket key path to my key region us east 1 是否无法通过变量文件为上面的存储桶和键提供值 因为当我尝试这样做时 terraform bac
  • 使用Python for循环更改变量名称[重复]

    这个问题在这里已经有答案了 我只是想知道是否有人知道一种基于 for 循环更改变量名称的方法 如下所示 for i in range 3 group i self getGroup selected header i 以便更改变量名称以适应
  • PL/SQL 在 IN CLAUSE 中使用 VARRAY

    是否可以在 pl sql 的 IN CLAUSE 中使用 VARRAY 是的 可以 前提是 VARRAY 类型是全局类型 并且对于某些 PL SQL 代码来说不是本地类型 CREATE OR REPLACE TYPE str tab typ
  • 如何安装.tar.bz2文件

    我是 Linux 新手 正在使用 Ubuntu 正在尝试安装firefox 4 0b1 tar bz2但不知道如何从命令行安装它 我怎么能这样做呢 在 macOS 上 一些安装程序类似于 xxxxx bz2 要安装此类安装程序 您只需将扩展
  • 将 Html 渲染或转换为“格式化”文本 (.NET)

    我正在将一些数据从另一个测试 错误跟踪工具导入到 tfs 中 并且我想转换它的描述 它是简单的 HTML 所以是一个纯字符串 其中保留了 HTML 的 布局 例如 ol li Log on with user Acme amp Co li
  • 你能将 HTTPS 功能添加到 python Flask Web 服务器吗?

    我正在尝试构建一个 Web 界面来模拟网络设备上的静态接口 该网络设备使用摘要式身份验证和 HTTPS 我想出了如何将摘要式身份验证集成到 Web 服务器中 但我似乎无法找到如何使用 FLASK 获取 https 如果您可以向我展示如何实现
  • 如何中断 IMAP 的 IDLE?

    我正在使用 Javamail API 连接到我的 IMAP 服务器 javax mail Folder idle 的一切工作都很好method 当新邮件进来时 我的监听器会被呼叫 但是问题是永远空闲块 我该如何中断它 如何在不终止 Java
  • Hibernate 4.3.0.Final 和 Spring Data JPA 1.4.3.RELEASE

    我第一次尝试设置和使用 Spring Data 当然 您会想使用最新版本 Spring Data JPA 1 4 3 RELEASE Hibernate 4 3 0 Final 按照在线示例配置后 应用程序抛出异常
  • PHP 上传 - 为什么 isset($_POST['submit']) 总是 FALSE

    我有以下代码示例 upload3 php
  • .NET SSH 端口转发

    我正在尝试将 SSH 端口转发构建到我正在编写的 NET 应用程序中 我尝试过使用sharpSSH 但它要求用户每次都输入密码 而我不希望这样 我将处理存储密码的问题 我已经下载了Granados 但它的文档基本上为零 如何使用 Grana
  • bash 脚本 - 读取单个击键,包括特殊键 Enter 和空格

    不确定我是否应该将其放在 stackoverflow 或 unix stackexchange 上 但我发现了一些similar 问题在这里 就这样吧 我正在尝试创建一个由 bashrc 调用的脚本 该脚本允许我根据一次击键选择两个选项之一
  • Apache SPARK:广播变量上的空指针异常(YARN 集群模式)

    我有一个简单的 Spark 应用程序 我试图在 YARN 集群上广播 String 类型变量 但是每次我尝试访问广播变量 value 时 我都会在任务中得到 null 如果你们能建议我在这里做错了什么 这将非常有帮助 我的代码如下 publ
  • Airflow 在 1 分钟后终止了我的任务

    我有一个非常简单的 DAG 有两个任务 如下所示 default args owner me start date dt datetime today retries 0 retry delay dt timedelta minutes 1
  • PostgreSQL 约束,在提交时检查,而不是更早检查[重复]

    这个问题在这里已经有答案了 是否可以在 PostgreSQL 中创建唯一索引或其他类型的约束 这将在事务 COMMIT 上进行检查 而不是提前一毫秒 我需要一对 record id ordering 的索引 因此我确保在给定的 record
  • 如何在 Javascript 中检测 Microsoft Chromium Edge(chredge、edgium)

    Edge 75 将 是 第一个基于 Chromium 的 Edge 浏览器 如何检查该浏览器是否是 Chrome 上的 Edge 我真正想知道的是浏览器是否完全支持 data uri 的 https caniuse com feat dat