Я создаю веб-сайт и хочу, чтобы он был совместим с предстоящим выпуском Microsoft Edge, когда он выйдет официально. Если точнее, то его мобильная версия. Кто-нибудь знает, какая строка будет идентифицировать браузер Edge Mobile (например, «IE Mobile» идентифицирует мобильную версию Internet Explorer).
Какое имя строки пользовательского агента для Microsoft Edge?
Ответы (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, мы можем обойти хаки, которые используют эти разработчики, чтобы предоставить пользователям лучший опыт.
any Edge-WebKit differences are bugs that we’re interested in fixing
Тогда зачем создавать другой движок рендеринга? Почему бы просто не использовать WebKit?
- person Dan; 30.07.2015
Существует статья 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. ‹Сборка ОС №›
Для тех, кто ищет регулярное выражение для обнаружения 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, мы хотели показать что-нибудь для этого), но это может не обязательно относиться к вам.
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
В настоящее время веб-агент не является ключевым моментом для адаптации вашего сайта, но вы должны определять функции браузера.
В этом отношении вам следует использовать некоторую библиотеку, например Modernizr, чтобы проверить определенные функции браузера независимо от поставщика или версии браузера. используя пользователя.
Примечание. Несмотря на отрицательные голоса, всем следует ознакомиться с другим ответом на этот вопрос и ответ, в котором подробно объясняется, что стоит за моим обобщенным ответом. где ответ предоставляет доказательство того, что многие производители браузеров не рекомендуют анализировать пользовательский агент. Это причина моего собственного ответа, в котором я предлагаю всем адаптировать свои сайты на основе функций, а не конкретного браузера.
Вы забыли, что SA необходимо знать тип браузера, чтобы сообщить об этом в MGMT. Для точности должно быть ясно, какой браузер используется. А в чистой сборке пользовательский агент Edge не имеет ключевого слова EDGE:
Mozilla / 5.0 + (Windows + NT + 10.0; + Win64; + x64)
вы всегда можете проверить строку User-Agent с помощью
- нажатие F12 для инструментов разработчика
- Табулятор: Консоль
- введите: "navigator.userAgent" + нажмите return
работает в IE, Edge, Chrome ..
В IE и Edge вы можете просто перезаписать его для текущих окон в Табуляторе: Эмуляция, поле «Строка пользовательского агента» и выберите «Пользовательский» ...
Вы можете найти самую последнюю строку 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
.
Переопределения пользовательского агента
Иногда веб-сайт не распознает обновленную версию Microsoft Edge UA. В результате некоторые функции этого веб-сайта могут работать некорректно. Когда Microsoft получает уведомление об этих типах проблем, с владельцами веб-сайтов связываются и информируют об обновленном UA.
Сайтам часто требуется некоторое время для обновления и тестирования логики обнаружения UA для решения проблем, о которых Microsoft сообщает владельцам сайтов. В этих случаях Microsoft использует список переопределений UA в наших бета- и стабильных каналах, чтобы обеспечить максимальную совместимость для пользователей, которые обращаются к этим сайтам. Переопределения указывают новые значения UA, которые Microsoft Edge должен отправлять вместо UA по умолчанию для определенных сайтов. Вы можете просмотреть список переопределений UA, которые применяются в настоящее время, перейдя к edge://compat/useragent
в каналах бета-версии и стабильной версии Microsoft Edge.
Перейдите на эту страницу для получения дополнительных сведений об Агенте пользователя. Строка
User-Agent
заголовок запроса User-Agent характерная строка, которая позволяет серверам и сетевым узлам идентифицировать приложение, операционную систему, поставщика и / или версию запрашивающего агент пользователя.
Синтаксис
User-Agent: <product> / <product-version> <comment>
Общий формат для веб-браузеров:
User-Agent: Mozilla/5.0 (<system-information>) <platform> (<platform-details>) <extensions>
Перейдите на эту страницу для получения дополнительных сведений о строке агента пользователя < / а>