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