Какое имя строки пользовательского агента для Microsoft Edge?

Я создаю веб-сайт и хочу, чтобы он был совместим с предстоящим выпуском Microsoft Edge, когда он выйдет официально. Если точнее, то его мобильная версия. Кто-нибудь знает, какая строка будет идентифицировать браузер Edge Mobile (например, «IE Mobile» идентифицирует мобильную версию Internet Explorer).


person Zvonimir Matic    schedule 02.06.2015    source источник
comment
Если вы хотите, чтобы он был совместим, сосредоточьтесь больше на стандартах, чем на строках пользовательского агента. Microsoft Edge создан для работы в Интернете, как Firefox и Chrome. Как всегда, используйте обнаружение функций, прогрессивное улучшение и тестирование кроссбраузерности на ранней стадии и почаще.   -  person Sampson    schedule 09.06.2015
comment
IEMobile обычно идентифицирует IE на телефоне с Windows (не IE Mobile ;-)). Однако обратите внимание, что новейшие телефоны с Windows (например, Lumia 950XL) используют Edge и больше не имеют идентификатора IEMobile.   -  person bytedev    schedule 11.12.2015


Ответы (10)


Строка 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

Я подробно объясняю почему в этом сообщении в блоге.

Neowin недавно сообщил, что новый браузер Microsoft для 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.

Я должен отметить, что это не радикальное отклонение от того, что Microsoft сделала с IE 11, который в Windows 8 гласит: Mozilla / 5.0 (Windows NT 6.3; Trident / 7.0; rv: 11.0) как Gecko, как объясняется в этом Почта.

Что такое анализатор User Agent?

Часто веб-разработчики используют UA для обнаружения браузера. Mozilla хорошо объясняет это в своем блоге:

Как правило, обслуживание разных веб-страниц или служб в разных браузерах - плохая идея. Интернет должен быть доступен для всех, независимо от того, какой браузер или устройство они используют. Существуют способы развития вашего веб-сайта для его постепенного улучшения на основе доступности функций, а не путем ориентации на определенные браузеры.

Вот отличная статья, объясняющая историю User Agent.

Часто ленивые разработчики просто нюхают строку UA и отключают контент на своем веб-сайте в зависимости от того, какой браузер, по их мнению, использует зритель. Internet Explorer 8 часто разочаровывает разработчиков, поэтому они часто проверяют, использует ли пользователь ЛЮБУЮ версию IE, и отключают функции.

Сведения о группе Edge об этом еще подробнее в их блоге.

Все строки пользовательских агентов содержат больше информации о других браузерах, чем фактический браузер, который вы используете, - не только токены, но и «значимые» номера версий.

Строка UA Internet Explorer 11:

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

Свойство userAgent было уместно охарактеризовано Патриком Х. Лауком как «постоянно растущая пачка лжи» в обсуждениях W3C. («Или, скорее, балансирующее действие по добавлению достаточного количества устаревших ключевых слов, которое не приведет к немедленному отказу от старого кода отслеживания UA, при этом все еще пытаясь передать немного действительно полезной и точной информации».)

Мы рекомендуем веб-разработчикам по возможности избегать перехвата UA; Почти все функции современной веб-платформы можно легко обнаружить. Например, библиотека Modernizr - фантастический и простой способ обнаружения функций.

За последний год мы видели несколько сайтов, отслеживающих UA, которые были обновлены для обнаружения Microsoft Edge… только для того, чтобы предоставить ему устаревший путь кода IE11. Это не лучший подход, поскольку Microsoft Edge соответствует поведению «WebKit», а не поведению IE11 (любые различия между Edge и WebKit - это ошибки, которые мы заинтересованы в исправлении).

По нашему опыту, Microsoft Edge лучше всего работает с путями кода WebKit на этих сайтах. Кроме того, поскольку Интернет становится доступным на все большем количестве устройств, предполагайте, что неизвестные браузеры хороши - пожалуйста, не ограничивайте работу своего сайта только небольшим набором известных браузеров. Если вы сделаете это, ваш сайт почти наверняка сломается в будущем.

Заключение

Представляя строку Chrome UA, мы можем обойти хаки, которые используют эти разработчики, чтобы предоставить пользователям лучший опыт.

person Dave Voyles    schedule 07.07.2015
comment
any Edge-WebKit differences are bugs that we’re interested in fixing Тогда зачем создавать другой движок рендеринга? Почему бы просто не использовать WebKit? - person Dan; 30.07.2015
comment
Хотя в целом ответ отличный, Ваш вывод вводит в заблуждение и не касается вопроса. Вывод на самом деле неверен, так как есть много функций, которые Edge не поддерживает, но другие браузеры поддерживают (например, css 'object-fit'), и поэтому было бы разумно обнаружить Edge, а не Webkit. - person Etai; 03.08.2015
comment
Вот его интерпретация: Edge притворился Chrome, Chrome притворился Safari, а Safari притворился Mozilla. И Edge использовал EdgeHTML, но не раскрыл его, а Chrome использовал Blink, но не раскрыл его, но Chrome сделал вид, что использует WebKit. И Webkit притворился KHTML, а KHTML притворился Gecko. И беспорядок чрезмерно распространялся в сети. - person Claude; 03.08.2015
comment
@Etai, нет, пока не поддерживается. Вы можете найти ответы на такие вопросы в dev.modern.ie/platform/status (например, постоянная ссылка для соответствия объекта). Источник статуса веб-сайта находится на GitHub: github.com/MicrosoftEdge/Status. - person vulcan raven; 16.08.2015
comment
Интересно, почему Edge начинается с версии 12. Если это потомок IE11, он должен называться IE12. - person dude; 22.10.2015
comment
@julmot Я думаю, MS знает, что все ненавидят IE и постепенно переходят на Chrome / Firefox / Opera. Кроме того, название Edge v1 по сравнению с Chrome v46 звучит так, как будто они сильно отстают! ржу не могу - person evilReiko; 22.10.2015
comment
Вы скопировали это откуда-то? как объясняется в этом сообщении, предположительно должна быть ссылка. Если бы вы использовали содержательный текст ссылки, это будет иметь смысл даже с удаленной ссылкой. - person TRiG; 16.03.2016
comment
Вторая строка: я подробно рассказываю, почему в этом сообщении в блоге. (ссылка включена) - person Dave Voyles; 16.03.2016

Существует статья MDN об обнаружении браузера с помощью «User-Agent» и о том, что вы должны иметь в виду, когда делаете что-то подобное.

Независимо от этого MSDN Library описывает изменения пользовательского агента для "Edge".

Из MSDN изменения строки пользовательского агента страница:

Microsoft Edge для 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. ‹Сборка ОС №›

person andih    schedule 04.06.2015

Для тех, кто ищет регулярное выражение для обнаружения 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, мы хотели показать что-нибудь для этого), но это может не обязательно относиться к вам.

person aug    schedule 03.11.2015
comment
Это два совершенно разных браузера, у которых есть минимальный вариант использования. - person TiCPU; 30.07.2017
comment
Это очень хорошо для моего случая, поскольку мне не нужен какой-либо IE. - person Keyne Viana; 07.03.2018

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

person Rami Sarieddine    schedule 09.07.2015

В настоящее время веб-агент не является ключевым моментом для адаптации вашего сайта, но вы должны определять функции браузера.

В этом отношении вам следует использовать некоторую библиотеку, например Modernizr, чтобы проверить определенные функции браузера независимо от поставщика или версии браузера. используя пользователя.

Примечание. Несмотря на отрицательные голоса, всем следует ознакомиться с другим ответом на этот вопрос и ответ, в котором подробно объясняется, что стоит за моим обобщенным ответом. где ответ предоставляет доказательство того, что многие производители браузеров не рекомендуют анализировать пользовательский агент. Это причина моего собственного ответа, в котором я предлагаю всем адаптировать свои сайты на основе функций, а не конкретного браузера.

person Matías Fidemraizer    schedule 02.06.2015

Вы забыли, что SA необходимо знать тип браузера, чтобы сообщить об этом в MGMT. Для точности должно быть ясно, какой браузер используется. А в чистой сборке пользовательский агент Edge не имеет ключевого слова EDGE:

Mozilla / 5.0 + (Windows + NT + 10.0; + Win64; + x64)

person Mike Dever    schedule 19.11.2015
comment
Привет, Майк, я столкнулся с проблемой, которую вы описываете. У меня такая же строка пользовательского агента, и вы знаете, как решить эту проблему. У меня есть коллега с той же настройкой, что и я (от той же версии Edge до версии с исправлением). Его строка UA кажется в порядке. Спасибо - person kazandzhiro; 23.11.2015

вы всегда можете проверить строку User-Agent с помощью

  1. нажатие F12 для инструментов разработчика
  2. Табулятор: Консоль
  3. введите: "navigator.userAgent" + нажмите return

работает в IE, Edge, Chrome ..

В IE и Edge вы можете просто перезаписать его для текущих окон в Табуляторе: Эмуляция, поле «Строка пользовательского агента» и выберите «Пользовательский» ...

person Bernhard    schedule 11.12.2019

Вы можете найти самую последнюю строку User Agent (UA) по адресу https://docs.microsoft.com/en-us/microsoft-edge/web-platform/user-agent-string. На момент написания это было

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.

person questionto42    schedule 25.10.2020

Переопределения пользовательского агента

Иногда веб-сайт не распознает обновленную версию Microsoft Edge UA. В результате некоторые функции этого веб-сайта могут работать некорректно. Когда Microsoft получает уведомление об этих типах проблем, с владельцами веб-сайтов связываются и информируют об обновленном UA.

Сайтам часто требуется некоторое время для обновления и тестирования логики обнаружения UA для решения проблем, о которых Microsoft сообщает владельцам сайтов. В этих случаях Microsoft использует список переопределений UA в наших бета- и стабильных каналах, чтобы обеспечить максимальную совместимость для пользователей, которые обращаются к этим сайтам. Переопределения указывают новые значения UA, которые Microsoft Edge должен отправлять вместо UA по умолчанию для определенных сайтов. Вы можете просмотреть список переопределений UA, которые применяются в настоящее время, перейдя к edge://compat/useragent в каналах бета-версии и стабильной версии Microsoft Edge.

Перейдите на эту страницу для получения дополнительных сведений об Агенте пользователя. Строка

person Nader MA    schedule 04.02.2021

User-Agent

заголовок запроса User-Agent характерная строка, которая позволяет серверам и сетевым узлам идентифицировать приложение, операционную систему, поставщика и / или версию запрашивающего агент пользователя.

Синтаксис

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

Общий формат для веб-браузеров:

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

Перейдите на эту страницу для получения дополнительных сведений о строке агента пользователя < / а>

person Nader MA    schedule 07.02.2021