Então, podemos escrever o seguinte código:
Copie o código da seguinte forma: <script type = "text/javascript">
var sys = {};
var ua = navegator.UserAgent.TolowerCase ();
var s;
(s = ua.match (/msie ([/d. ]+)/))? Sys.ie = s [1]:
(s = ua.match (/firefox // ([/d.]+)/))? Sys.firefox = s [1]:
(s = ua.match (/chrome // ([/d.]+)/))? Sys.chrome = s [1]:
(s = ua.match (/Ópera. ([/d.]+)/))? Sys.opera = s [1]:
(s = ua.match (/versão // ([/d.]+).*Safari/))? Sys.safari = s [1]: 0;
// Os seguintes testes
if (sys.ie) document.write ('ie:' + sys.ie);
if (sys.firefox) document.write ('firefox:' + sys.firefox);
if (sys.chrome) document.write ('Chrome:' + sys.chrome);
if (sys.opera) document.write ('Ópera:' + sys.opera);
if (sys.safari) document.write ('safari:' + sys.safari);
</script>
Entre eles, expressões de julgamento, como operadoras ternárias, são usadas para simplificar o código. A condição de julgamento é uma declaração de atribuição que não apenas completa a correspondência de expressões regulares e a cópia do resultado, mas também usa diretamente o julgamento condicional. As informações da versão subsequente só precisam ser extraídas dos resultados correspondentes anteriores, que é um código muito eficiente.
No futuro, você só precisa julgar um determinado navegador na forma de if (sys.ie) ou se (sys.firefox), e só precisa julgar a versão do navegador na forma de if (sys.ie == '8.0') ou se (sys.firefox == '3.0'), que ainda é muito elegante.
Obtenha a versão do sistema operacional:
Copie o código da seguinte forma: <script type = "text/javascript">
// usado para obter a versão do sistema (Nota: Este método é inválido para Firefox e Chrome)
var ua = window.navigator.UserAgent;
var osversion = ua.split (";") [2];
var OSV = Osversion.substr (Osversion.Length-3,3);
Switch (OSV)
{
Caso "5.0":
document.write ("windows2000");
quebrar;
Caso "5.1":
document.write ("windowsxp");
quebrar;
Caso "5.2":
document.write ("windows2003");
quebrar;
caso "6":
document.write ("windows vista");
quebrar;
Caso "6.1":
document.write ("Windows 7");
quebrar;
padrão:
document.write ("outros");
}
</script>