Рядок 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
Я детально розповідаю, чому в цій публікації в блозі.
Неовін нещодавно повідомив, що новий браузер 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, як пояснено в цьому пост.
Що таке нюхання агента?
Часто веб-розробники будуть UA нюхати для виявлення браузера. Mozilla це добре пояснює у своєму блозі:
Обслуговування різних веб-сторінок або служб у різних браузерах зазвичай погана ідея. Мережа призначена для всіх, незалежно від того, який браузер чи пристрій вони використовують. Існують способи розробити свій веб-сайт, щоб прогресивно вдосконалювати себе, виходячи з наявності функцій, а не націляючи на конкретні браузери.
Ось чудова стаття, що роз'яснює історію користувача-агента.
Часто ліниві розробники просто нюхають рядок 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
Патрік Х. Лауке в дискусіях W3C влучно описав властивість userAgent як "постійно зростаючий пакет брехні". («А точніше - балансуючий додавання достатньої кількості застарілих ключових слів, які не одразу перестануть старий код обнюхування UA, при цьому все ще намагаються передати трохи корисної та точної інформації».)
Ми рекомендуємо веб-розробникам максимально уникати нюхання через UA; Особливості сучасної веб-платформи майже всі можна виявити простими способами. Наприклад, бібліотека Modernizr - це фантастичний і простий спосіб виявлення функцій.
За останній рік ми бачили деякі веб-сайти, що нюхають UA, оновлені для виявлення Microsoft Edge ... лише для того, щоб надати йому застарілий шлях коду IE11. Це не найкращий підхід, оскільки Microsoft Edge відповідає поведінці "WebKit", а не IE11 (будь-які відмінності Edge-WebKit - це помилки, які ми зацікавлені у виправленні).
З нашого досвіду Microsoft Edge найкраще працює на кодах "WebKit" на цих сайтах. Крім того, коли Інтернет стає доступним для широкого спектру пристроїв, припускайте, що невідомі веб-переглядачі хороші - будь ласка, не обмежуйте свій веб-сайт лише роботою над невеликим набором відомих сучасних браузерів. Якщо ви це зробите, ваш сайт майже напевно зламається в майбутньому.
Висновок
Представляючи рядок Chrome UA, ми можемо подолати хаки, якими користуються розробники, щоб представити користувачам найкращий досвід.