Dica Rápida: Descobrir o Sistema Operacional do Client via Browser

    Tue, Feb 07 2012
      

Eu precisei descobrir o Sistema Operacional do Client via browser em um modelo Strategy que estava desenvolvendo e fiz da seguinte forma:

No JSP:

<form action="SeuControle" method="post">
    <script>
        document.write("<input id="so" type="hidden" name="so" value=""+
            navigator.userAgent +""/>");
    </script>
    <input type="submit" value="Efetuar Donwload"/>
</form>

No SeuControle Servlet .java

String so = request.getParameter("so");

No SeuControle Php

$so = $_POST["so"];

O problema é que a informação gerada possui conteúdo extra, desnecessário ao processo de identificação do SO. Para isso eu fiz um tratamento para saber se o texto contém o que eu quero ou não.

Ex: No SeuControle Servlet .java

if (so.contains("Linux")) {
    // seu codigo aqui
} else if (so.contains("Windows")) {
    // seu código aqui
}

Uma solução simples porém funcional, espero que ajude.