Поиск Regex для версии Edge в Javascript

Я хочу выяснить, использует ли пользователь Microsoft Edge, и если да, то какая у него версия Edge. Я знаю, что могу получить версию с помощью navigator.userAgent и в моем собственном браузере Edge, который возвращает Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36 Edge/17.17134.

Увидеть, есть ли «Edge» в строке, заданной userAgent, довольно просто, но мне было интересно, какой будет команда регулярного выражения, чтобы получить версию, чтобы я мог сравнить ее и посмотреть, меньше ли она определенной версии (18.17763 в моем кейс)? Я бы использовал метод string.match(). Раньше я не использовал регулярное выражение, поэтому понятия не имею, каким будет выражение.

Почему? Для чего вам это нужно знать?

Niet the Dark Absol 17.06.2019 20:37

похоже на обычное регулярное выражение

epascarello 17.06.2019 20:37

@NiettheDarkAbsol есть ошибка с прослушивателями событий Javascript в Edge, которая была исправлена ​​в EdgeHTML 18.17763. Мне нужно иметь возможность обрабатывать ошибку в более старых версиях.

Madan 17.06.2019 20:39

Можно ли обнаружить этот баг каким-то другим способом? Что за ошибка вообще?

Niet the Dark Absol 17.06.2019 20:40
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
4
877
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Браузеры отказываются от представления своих версий в строках User Agent. Некоторые браузеры (я думаю, Firefox) уже "заморозили" свои строки User-Agent. Так что даже если вы заставите это работать, это скоро станет неактуальным.

Вместо этого используйте обнаружение функций.

Будет ли обнаружение функций работать в моем случае, если функция есть, но имеет ошибку и не работает должным образом? Вот ошибка developer.microsoft.com/en-us/microsoft-edge/platform/issues‌​/…

Madan 17.06.2019 20:41

Похоже, что «ошибка» просто приводит к тому, что индикация прогресса не работает для этой конкретной версии? Я не думаю, что это такая уж большая проблема — в конце концов, старые браузеры вообще не поддерживают события прогресса.

Niet the Dark Absol 17.06.2019 21:16
Ответ принят как подходящий

Край/(\d+.\d+)

Первая группа захвата и разбор. В следующий раз попробуйте регулярное выражение101.

Другие вопросы по теме