Как определить версию браузера через javascript БЕЗ использования `navigator` и` navigator.userAgent`? - PullRequest
0 голосов
/ 13 марта 2020

tldr; Можно ли получить версию браузера из внешнего интерфейса без использования строк навигатора или клиентских подсказок?

Так что с объявлением Google о замораживании строки navigator.userAgent, я ' перед нами стояла задача проработать кучу javascript библиотек на работе, чтобы заменить анализатор браузера (он же userAgent). Я знаю, я знаю, что мы не должны использовать userAgent, потому что это мешок путаницы и лжи, но я наследую этот код, а не создаю его. К счастью, несколько вариантов использования были датированы (IE8-10, Phantom JS, Windows Phone), и я мог удалить их полностью. Другие я мог выяснить, какие функции / намерения использовали первоначальные авторы, и я мог поменять их условия для обнаружения функций.

Но некоторые из опубликованных c обращений к logi c используют navigator.userAgent для расчета версию браузера, и заменить ее было сложнее, потому что все, что я нахожу на веб-страницах, связанных с этим поиском, указывает на использование одного из свойств navigator. Я не знаю, как и почему клиенты заботятся о том, какая «версия Firefox пользователя включена», и я жду этого ответа, но пока пытаюсь выяснить, есть ли решение, способное обнаружить версия браузера на переднем конце. Я не ограничиваю ответ только javascript, если есть комбинация CSS / HTML / JS, я полностью за нее.

Я также знаю, что Google говорит, что мы должны использовать Клиент намекает , но для этого нужно попасть на сервер, выходящий за рамки моей задачи.

План замораживания через объявление Google:

  • Различные части строки UA имеют разные значения совместимости.
  • Некоторые его части, такие как версия браузера и версия ОС, могут быть заморожены без каких-либо последствий для обратной совместимости. Значения, которые работали в прошлом, будут продолжать работать в будущем.
  • Другие части, такие как модель (для мобильных устройств) и платформа ОС, могут иметь последствия для сайтов, которые адаптируют свой пользовательский интерфейс к базовой ОС. или это предназначено для очень специфической c модели в их расположении. Такие сайты нужно будет перенести на использование UA-CH.

Если я правильно читаю вторую пулю здесь, то части версии строк navigator будут заморожены и ненадежны к началу июня 2020 г. .

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...