Microsoft Edge的用户代理字符串名称是什么?

时间:2015-06-02 09:03:06

标签: mobile microsoft-edge

我正在创建一个网站,我希望它在正式发布时与即将推出的Microsoft Edge兼容。更具体地说,它的移动版本。有谁知道什么字符串将识别边缘移动浏览器(例如,“IE Mobile”标识Internet Explorer的移动版本。)

10 个答案:

答案 0 :(得分:92)

Microsoft Edge UA字符串:

Mozilla / 5.0(Windows NT 10.0)AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 42.0.2311.135 Safari / 537.36 Edge / 12.10136

I detail why in this blog post.

Neowin最近报道微软新推出的适用于Windows 10的浏览器Spartan使用Chrome UA字符串,“Mozilla / 5.0(Windows NT 10.0; WOW64)AppleWebKit / 537.36(KHTML,如Gecko)Chrome / 39.0.2171.71 Safari / 537.36 Edge / 12.0“。 这是故意的。

您还会注意到整个字符串以“Edge / 12.0”结尾,而Chrome则没有。

我应该指出,这与微软对IE 11的做法没有根本的不同,后者在Windows 8上读取:Mozilla / 5.0(Windows NT 6.3; Trident / 7.0; rv:11.0),如Gecko,在这篇文章中解释过。

什么是用户代理嗅探?

通常,网络开发人员会UA嗅探浏览器检测。 Mozilla在他们的博客上解释得很好:

  

为不同的浏览器提供不同的网页或服务   通常是个坏主意。网络应该是每个人都可以访问的,   无论他们使用哪种浏览器或设备。有办法   开发您的网站,以便逐步增强自身   功能的可用性,而不是针对特定浏览器。

Here’s a great article explaining the history of the User Agent.

通常,懒惰的开发人员只会嗅探UA字符串并根据他们认为观看者正在使用的浏览器禁用其网站上的内容。 Internet Explorer 8是开发人员常见的挫折点,因此他们会经常检查用户是否使用任何版本的IE,并禁用功能。

The Edge team details this even deeper on their blog.

所有用户代理字符串都包含有关除您使用的实际浏览器之外的其他浏览器的更多信息 - 不仅包括令牌,还包含“有意义”的版本号。

Internet Explorer 11的UA字符串:

Mozilla / 5.0(Windows NT 6.3; Trident / 7.0; rv:11.0),如Gecko

Microsoft Edge UA字符串:

Mozilla / 5.0(Windows NT 10.0)AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 42.0.2311.135 Safari / 537.36 Edge / 12.10136

Patrick H. Lauke在W3C讨论中恰当地将userAgent属性描述为“一堆不断增长的谎言”。 (“或者更确切地说,添加足够的遗留关键字的平衡行为不会立即使旧的UA嗅探代码崩溃,同时仍然试图传达一些实际有用和准确的信息。”)

我们建议Web开发人员尽可能避免UA嗅探;现代网络平台功能几乎都可以通过简单的方式检测到。例如, Modernizr 库是检测功能的绝妙而简单的方法。

在过去的一年中,我们看到一些UA嗅探站点已更新以检测Microsoft Edge ...仅为其提供传统的IE11代码路径。这不是最好的方法,因为Microsoft Edge匹配'WebKit'行为,而不是IE11行为(任何Edge-WebKit差异都是我们有兴趣修复的错误)。

根据我们的经验,Microsoft Edge在这些站点中的“WebKit”代码路径上运行得最好。此外,随着互联网在更广泛的设备上可用,请假设未知的浏览器是好的 - 请不要限制您的网站只在一小部分当前已知的浏览器上工作。如果你这样做,你的网站将来几乎肯定会破产。

<强>结论

通过展示Chrome UA字符串,我们可以解决这些开发人员正在使用的黑客攻击,为用户提供最佳体验。

答案 1 :(得分:12)

有一个MDN article关于使用“用户代理”进行浏览器检测,以及在做类似事情时应该考虑的事项。

独立于MSDN Library描述“Edge”的用户代理更改。

来自MSDN User-agent string changes页面:

  

Microsoft Edge for Windows 10 Mobile Insider Preview具有以下用户代理字符串:

     
    

Mozilla / 5.0(Windows Phone 10.0; Android 4.2.1;设备信息)AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 42.0.2311.135 Mobile Safari / 537.36 Edge / 12.&lt; OS Build#&gt;

  

答案 2 :(得分:8)

对于那些正在寻找正则表达式来检测IE Microsoft Edge的人,我从另一个SO answer重新调整了一个并添加了Edge

/(?:\b(MS)?IE\s+|\bTrident\/7\.0;.*\s+rv:|\bEdge\/)(\d+)/

我检查了Edge,然后检查了一个杂项数字,以防他们决定迭代Edge版本。

编辑:要更新是,Edge和旧的IE版本都被认为是非常不同的浏览器。我的用例需要检测用于营销目的的IE品牌浏览器(如果用户使用任何Internet Explorer / Edge浏览器,我们希望为此展示一些内容),但对您来说可能不一定如此。

答案 3 :(得分:3)

目前,Web代理不是调整您网站的关键点,但您应该检测浏览器功能。

就此而言,您应该使用某些类似Modernizr的库来检查特定浏览器功能,而不管浏览器供应商或版本使用该用户。

注意:尽管存在downvotes,但每个人都应该查看other answer on this Q&A,其中广泛解释了我的总结答案背后的内容,答案提供证明许多浏览器供应商不鼓励进行用户代理嗅探。这就是我自己的答案背后的原因,我建议大家根据功能而不是特定的浏览器调整他们的网站。

答案 4 :(得分:2)

Mozilla / 5.0(Windows Phone 10.0; Android 4.2.1;设备信息)AppleWebKit / 537.36(KHTML,与Gecko一样)Chrome / 39.0.2171.71 Mobile Safari / 537.36 Edge / 12.0

答案 5 :(得分:2)

您忘记了SA需要知道浏览器类型才能向mgmt报告。 为了准确,必须清楚使用什么浏览器。 在干净的构建中,Edge用户代理没有“EDGE”关键字:

的Mozilla / 5.0 +(视窗NT + + 10.0 + Win64的; + x64)的

答案 6 :(得分:1)

用户代理覆盖

有时,网站无法识别 Microsoft Edge UA 的更新版本。因此,该网站的一组功能可能无法正常工作。当 Microsoft 收到有关此类问题的通知时,我们会联系网站所有者并告知更新的 UA。

站点通常需要一些时间来更新和测试 UA 检测逻辑,以解决 Microsoft 向站点所有者报告的问题。在这些情况下,Microsoft 在我们的 Beta 版和稳定版渠道中使用 UA 覆盖列表来最大限度地提高访问这些网站的用户的兼容性。覆盖指定 Microsoft Edge 应发送的新 UA 值,而不是特定站点的默认 UA。您可以通过导航到 Microsoft Edge 的 Beta 版和稳定版渠道中的 edge://compat/useragent 来查看当前正在应用的 UA 覆盖列表。

Go to this page for more detail about User Agent String

答案 7 :(得分:0)

您始终可以通过

检查User-Agent字符串
  1. 按下F12以使用开发人员工具
  2. 制表器:控制台
  3. 类型:“ navigator.userAgent” +点击返回

可在IE,Edge,Chrome中运行。

在IE和Edge中,您可以在Tabulator的当前窗口中简单地覆盖它:仿真,在“用户代理字符串”字段中选择“自定义” ...

答案 8 :(得分:0)

您可以在https://docs.microsoft.com/en-us/microsoft-edge/web-platform/user-agent-string上找到最新的用户代理(UA)字符串。在撰写本文时,是

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.74 Safari/537.36 Edg/79.0.309.43

很有趣,仅服用Mozilla/5.0时它也对我有用。

答案 9 :(得分:-1)

用户代理

User-Agent request header 是一个特征字符串,可让服务器和网络对等方识别请求 user agent 的应用程序、操作系统、供应商和/或版本.

语法

User-Agent: <product> / <product-version> <comment>

网络浏览器的常用格式:

User-Agent: Mozilla/5.0 (<system-information>) <platform> (<platform-details>) <extensions>

Go to this page for more detail about User Agent String