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

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

var detectedVersion = HttpContext.Current.Request.Browser["ScriptLangVersion"];

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

Определить версию JavaScript средствами сервера практически невозможно, потому что язык всегда работает в режиме обратной совместимости. Браузеры не отправляют информацию о версии движка, они лишь предоставляют сведения о версии самого браузера. Если нужно проверить поддержку какого-то функционала, лучше делать feature detection на стороне клиента, а не полагаться на версию языка. Так можно вычислить реально используемые возможности скриптового движка.

Я думаю, серверу не стоит пытаться определить версию JS. Уже сложно понять, как браузер настроен, если данные не передаются, а фичи можно обнаружить только на клиенте. Интересно, как вы обходите эту проблему? Какие альтернативы пробовали?

Смотрю, тут реально нет волшебной кнопки, чтобы сервер получил инфу о версии js. Лично я решил эту задачу так: на стороне клиента пишу небольшой скрипт, который проверяет наличие нужных функций и отправляет эту инфу на сервер. Этот подход мне показался оптимальным, так как браузеры просто не передают версию движка. Так что все сводиться к дефект-детекции.

Несмотря на желание получить информацию на стороне сервера, современные браузеры просто не передают версию JavaScript. В своей практике я решил задачу атрибутов функционала через клиентский скрипт, который сразу же проверяет доступность нужных возможностей и отправляет данные на сервер. Такой подход более надежен и даёт возможность контролировать реальные функции, а не версии, что особенно важно при поддержке обратной совместимости.

Ну, сервер на самом деле не получает данных о версии JS. По моему, лучше проверять на клиенте поддержку определённых фич и отправлять результаты на сервер. Может, кто-то уже экспериментировал с анализом user agent для более тонких нюансов? Что думаете?