Что касается IE, я понимаю, что вы должны попытаться создать экземпляр ActiveXObject, а затем проверить, успешно ли это выполнено, и затем вы можете запросить версию через подключаемый модуль ... ничего особенного.
Но в Firefox (и, я думаю, в других браузерах NPAPI) вы можете проверить наличие установленных плагинов, получить имя DLL и т. Д. (По крайней мере, в Windows). Что именно может узнать об установленных плагинах, кроме тех, которые существуют? Имя файла плагина, что-нибудь еще?
edit: И, поддерживает ли IE любой способ запроса плагинов без создания экземпляра, в более новых версиях?