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

Mobile Microsoft Edge的用户代理字符串名称是什么?,mobile,microsoft-edge,user-agent,Mobile,Microsoft Edge,User Agent,我正在制作一个网站,我希望它能与即将发布的微软Edge兼容。更具体地说,它的移动版。是否有人知道什么字符串将标识Edge Mobile浏览器(例如,“IE Mobile”标识Internet Explorer的移动版本)。当前Web代理不是调整站点的关键点,但您应该检测浏览器功能 因此,您应该使用一些库来检查特定的浏览器功能,而与用户使用的浏览器供应商或版本无关 注意:尽管有反对票,但每个人都应该回顾一下,其中广泛地解释了我的总结答案背后的内容,其中的答案证明了许多浏览器供应商不鼓励进行用户代理

我正在制作一个网站,我希望它能与即将发布的微软Edge兼容。更具体地说,它的移动版。是否有人知道什么字符串将标识Edge Mobile浏览器(例如,“IE Mobile”标识Internet Explorer的移动版本)。

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

因此,您应该使用一些库来检查特定的浏览器功能,而与用户使用的浏览器供应商或版本无关

注意:尽管有反对票,但每个人都应该回顾一下,其中广泛地解释了我的总结答案背后的内容,其中的答案证明了许多浏览器供应商不鼓励进行用户代理嗅探。这就是我自己的答案背后的原因,我建议每个人根据功能而不是特定的浏览器来调整他们的网站

关于使用“用户代理”进行浏览器检测,以及您在执行类似操作时应考虑的事项,有一个详细的说明

独立于此,描述了“边缘”的用户代理更改

从MSDN页面:

Microsoft Edge for Windows 10 Mobile Insider预览包含以下用户代理字符串:

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


Microsoft Edge UA字符串:

User-Agent: Mozilla/5.0 (<system-information>) <platform> (<platform-details>) <extensions>
Mozilla/5.0(Windows NT 10.0)AppleWebKit/537.36(KHTML,如Gecko)Chrome/42.0.2311.135 Safari/537.36 Edge/12.10136

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没有

我应该指出,这与微软在IE11上的做法并没有根本的不同,IE11在Windows8上的内容是:Mozilla/5.0(WindowsNT6.3;Trident/7.0;rv:11.0),就像Gecko一样,正如这篇文章所解释的

什么是用户代理嗅探?

通常,web开发人员会嗅探浏览器检测。Mozilla在他们的博客上对此做了很好的解释:

为不同的浏览器提供不同的网页或服务是非常重要的 通常是个坏主意。网络是为了让每个人都能访问, 无论他们使用的是哪种浏览器或设备,都可以 开发您的网站,以基于 功能的可用性,而不是针对特定的浏览器

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

所有用户代理字符串都包含有关其他浏览器的更多信息,而不是您正在使用的实际浏览器–不仅是令牌,还有“有意义的”版本号

Internet Explorer 11的UA字符串:

User-Agent: Mozilla/5.0 (<system-information>) <platform> (<platform-details>) <extensions>
Mozilla/5.0(WindowsNT6.3;Trident/7.0;rv:11.0)类似Gecko


Microsoft Edge UA字符串:

User-Agent: Mozilla/5.0 (<system-information>) <platform> (<platform-details>) <extensions>
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嗅探;现代web平台功能几乎都可以用简单的方法检测到。例如,该库是一种奇妙而简单的检测功能的方法

在过去的一年中,我们看到一些UA嗅探站点已经更新以检测Microsoft Edge…只是为其提供了一个遗留的IE11代码路径。这不是最好的方法,因为Microsoft Edge匹配的是“WebKit”行为,而不是IE11行为(任何Edge WebKit差异都是我们感兴趣修复的bug)

根据我们的经验,Microsoft Edge在这些站点的“WebKit”代码路径上运行得最好。此外,随着internet在更多种类的设备上可用,请假设未知浏览器是好的–请不要将您的站点限制为仅在一小部分当前已知的浏览器上运行。如果您这样做,您的站点几乎肯定会在未来收割

结论


通过展示Chrome UA字符串,我们可以绕过这些开发者使用的黑客,向用户展示最佳体验。

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

对于那些寻找正则表达式来检测IEMicrosoft Edge的人,我重新调整了它们的用途,添加了Edge

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

我让它检查边缘,然后是一个杂项数字,以防他们决定迭代边缘版本


编辑:要更新“是”,Edge和旧版IE都被认为是非常不同的浏览器。我的用例要求检测IE品牌的浏览器以进行营销(如果用户使用的是任何Internet Explorer/Edge浏览器,我们希望为此展示一些东西)但你可能不一定是这样。

你忘记了SA需要知道浏览器类型才能向管理层报告。 必须弄清楚是什么浏览器