什么是微软边缘的用户代理字符串的名字吗?

问题描述 投票:58回答:6

我在做一个网站,我想这是与微软即将推出的兼容EDGE,当它正式问世。更具体地讲,它的移动版本。有谁知道什么字符串将确定边缘移动浏览器(例如,“IE移动”标识的Internet Explorer的移动版本)。

mobile microsoft-edge user-agent
6个回答
94
投票

微软先进的IT字符串:

Mozilla的/ 5.0(Windows NT的10.0)为AppleWebKit / 537.36(KHTML,例如Gecko)Chrome浏览器/ Safari浏览器42.0.2311.135 / 537.36边/ 12.10136

I detail why in this blog post.

Neowin网站近日报道,微软为Windows 10,斯巴达,新的浏览器使用Chrome浏览器UA字符串,“Mozilla的/ 5.0(Windows NT的10.0; WOW64)为AppleWebKit / 537.36(KHTML,例如Gecko)Chrome浏览器/ Safari浏览器39.0.2171.71 / 537.36边/ 12.0 “。这是故意的。

您还会注意到,整个字符串“边缘/ 12.0“,该浏览器不结束。

我要指出,这不是什么从微软的IE 11,这在Windows 8读取做了一个彻底背离:Mozilla的/ 5.0(Windows NT的6.3;三叉戟/ 7.0; RV:11.0)像壁虎,在本解释帖子。

什么是用户代理嗅探?

通常情况下,Web开发人员将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;三叉戟/ 7.0; RV:11.0)等壁虎

微软先进的IT字符串:

Mozilla的/ 5.0(Windows NT的10.0)为AppleWebKit / 537.36(KHTML,例如Gecko)Chrome浏览器/ Safari浏览器42.0.2311.135 / 537.36边/ 12.10136

用户代理财产已经由Patrick H. Lauke在W3C的讨论恰当地描述为“不断增长的鬼话”。 (“或者说,并补充足够的遗产关键字,不会马上有老UA嗅探代码翻倒,同时仍试图传达的真正有用的和准确的信息一点点的平衡。”)

我们建议Web开发人员避免UA嗅探尽可能;现代的网络平台功能在简单的方法,几乎​​所有的检测。例如,Modernizr库是检测特征的奇妙和简单的方法。

在过去的一年中,我们已经看到了一些已经被更新,以检测微软边缘......只有与传统IE11代码路径提供其UA嗅探的网站。这是不是最好的方法,因为微软边缘“的WebKit的行为,而不是IE11行为(任意边WebKit的差异是臭虫我们感兴趣固定)相匹配。

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

结论

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


12
投票

有关于使用“用户代理”,什么做这样的事情的时候,你应该心里有浏览器检测的MDN article

独立的MSDN Library介绍了“边缘”的用户代理改变。

从MSDN User-agent string changes页:

微软边缘为Windows 10移动内部预览具有下列用户代理字符串:

的Mozilla / 5.0(Windows手机10.0;的Android 4.2.1; DEVICE INFO)为AppleWebKit / 537.36(KHTML,例如Gecko)铬/ 42.0.2311.135移动Safari / 537.36边沿/ 12 <OS构件#>。


8
投票

对于那些寻找一个正则表达式来检测IE和微软的边缘,我改变用途的一个从另一个SO answer并添加边缘

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

我做了检查边缘,然后在情况下,杂项数字,他们决定迭代边缘版本。

编辑:要更新是两个边缘及以上版本的IE被认为是非常不同的浏览器。需要我的使用情况检测用于营销目的IE浏览器的品牌(如果用户使用的是任何的Internet Explorer /浏览器边,我们要展示的东西为),但不一定是适合你的情况。


2
投票

的Mozilla / 5.0(Windows手机10.0;的Android 4.2.1; DEVICE INFO)为AppleWebKit / 537.36(KHTML,例如Gecko)铬/ 39.0.2171.71移动Safari / 537.36边沿/ 12.0


2
投票

目前,网络代理是不是去适应你的网站的关键点,但你应该发现浏览器的功能。

对于这个问题,你应该使用一些像图书馆向Modernizr检查特定浏览器中独立的浏览器厂商或版本使用用户的特征。

注:尽管downvotes的,每个人都应该审查其广泛的解释背后有什么我总结答案在答案提供了other answer on this Q&A证明,很多浏览器厂商不鼓励做用户代理嗅探。这背后我自己的答案,在这里我建议大家根据特征,而不是特定的浏览器,以适应他们的网站的原因。


2
投票

你忘了SA的需要知道浏览器类型报告,对MGMT。它必须是明确使用什么样的浏览器的准确性。并清理生成边缘用户代理没有“EDGE”的文章:

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

© www.soinside.com 2019 - 2024. All rights reserved.