Как в ASP.NET определить версию JavaScript для браузеров, отличных от IE?

В моей системе логирования я фиксирую параметры браузера, его версию и поддержку JavaScript. Для определения версии скриптового движка я использую следующий метод:

var scriptSupport = HttpContext.Current.Request.Browser["JSCompat"]; 
if (!HttpContext.Current.Request.Browser.Browser.Equals("IE", StringComparison.OrdinalIgnoreCase))
{
    scriptSupport = "Не определено";
}

Несмотря на то, что данный подход работает корректно для Internet Explorer, для остальных браузеров информация о версии JavaScript оказывается недоступной. Существует ли иной способ (без использования клиентского JavaScript) для получения версии установленного JavaScript?

Серверное определение версии JavaScript невозможно, так как эта информация не передаётся браузером в запросе. По факту, движки браузеров не дублируют свои версии на сервере. Если очень нужна такая информация, вы можете реализовать клиентский скрипт, который отправит её на сервер, но это уже выходит за рамки чисто серверного решения. Главное — тестировать функциональность, а не ориентироваться на версии движков.

Насколько я понимаю, серверу просто не передается нужная инфа. Без клиентского скрипта сложно узнать версию движка, так как браузеры с этим не обращаются. Может, стоит пересмотреть цель и попробовать другой подход? Интересно, что думают другие.

Сервер не передаст информацию о точной версии JavaScript, так как браузеры просто не отсылают эти данные. Мне приходилось в подобных случаях пытаться разгадать по user-agent строке, но это работает не всегда и часто дает искаженную информацию. Лично я пришёл к выводу, что лучше добавить небольшой клиентский скрипт, который будет отправлять нужные данные на сервер. Это хоть немного изменит архитектуру, но реально поможет в сборе нужной инфы.

Сервер не получит инфу о версии движка кроме как через IE, так что спецрешения под другие браузеры нет. Лучше уж на клиенте проверить наличие нужных функций или сделать fallback. Лично я раньше пытался парсить User-Agent, но это оказалось ненадёжно и требует постоянной поддержки. Иногда проще просто аттаковать проблему функционально, расширив тесты, чем пытаться сквитчить точную версию движка.