Я хочу выяснить, использует ли пользователь 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(). Раньше я не использовал регулярное выражение, поэтому понятия не имею, каким будет выражение.
похоже на обычное регулярное выражение
@NiettheDarkAbsol есть ошибка с прослушивателями событий Javascript в Edge, которая была исправлена в EdgeHTML 18.17763. Мне нужно иметь возможность обрабатывать ошибку в более старых версиях.
Можно ли обнаружить этот баг каким-то другим способом? Что за ошибка вообще?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Браузеры отказываются от представления своих версий в строках User Agent. Некоторые браузеры (я думаю, Firefox) уже "заморозили" свои строки User-Agent. Так что даже если вы заставите это работать, это скоро станет неактуальным.
Вместо этого используйте обнаружение функций.
Будет ли обнаружение функций работать в моем случае, если функция есть, но имеет ошибку и не работает должным образом? Вот ошибка developer.microsoft.com/en-us/microsoft-edge/platform/issues/…
Похоже, что «ошибка» просто приводит к тому, что индикация прогресса не работает для этой конкретной версии? Я не думаю, что это такая уж большая проблема — в конце концов, старые браузеры вообще не поддерживают события прогресса.
Край/(\d+.\d+)
Первая группа захвата и разбор. В следующий раз попробуйте регулярное выражение101.
Почему? Для чего вам это нужно знать?