Princípio de julgamento:
JavaScript é a linguagem principal para desenvolvimento front-end. Podemos determinar o tipo e a versão do navegador escrevendo programas JavaScript. Geralmente, existem dois métodos para JavaScript determinar o tipo de navegador. Um é baseado nos atributos exclusivos de vários navegadores e o outro é determinado pela análise do atributo userAgent do navegador. Em muitos casos, depois que o tipo de navegador é determinado pelo valor, a versão do navegador precisa ser determinada para lidar com problemas de compatibilidade, e a versão do navegador geralmente só pode ser conhecida analisando o userAgent do navegador.
Tipo de navegador
⑴ Atributos específicos do navegador
⑵De acordo com userAgent
Versão do navegador
⑴De acordo com userAgent
Julgamento para navegadores móveis
1. Como determinar se é um terminal móvel usando correspondência regular?
Corresponda se navigator.userAgent contém a string AppleWebKit*****Mobile
A versão HD do navegador Android qq possui apenas AppleWebKit
2. Julgamento da versão do idioma do telefone móvel
Use navigator.browserLanguage para obter a versão do idioma do Windows Phone.
É claro que a versão do idioma do odioso celular também tem diferenças de compatibilidade. Os navegadores compatíveis com os kernels Mozilla e Apple WebKit listarão navigator.language ao acessar sua versão do idioma.
CÓDIGO:
Copie o código do código da seguinte forma:
<script type="texto/javascript">
var navegador={
versões:função(){
var u = navigator.userAgent, app = navigator.appVersion;
return { //Informações sobre a versão do navegador do terminal móvel
tridente: u.indexOf('Trident') > -1, //kernel do IE
presto: u.indexOf('Presto') > -1, //kernel do opera
webKit: u.indexOf('AppleWebKit') > -1, //Apple, kernel do Google
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //Núcleo do Firefox
mobile: !!u.match(/AppleWebKit.*Mobile.*/), //Se é um terminal móvel
ios: !!u.match(//(i[^;]+;( U;)? CPU.+Mac OS X/), //terminal ios
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //terminal android ou navegador uc
iPhone: u.indexOf('iPhone') > -1 , //Se é iPhone ou navegador QQHD
iPad: u.indexOf('iPad') > -1, //Se é iPad
webApp: u.indexOf('Safari') == -1 //Se a web deve ser um programa sem cabeçalho e parte inferior
};
}(),
idioma:(navigator.browserLanguage || navigator.idioma).toLowerCase()
}
document.writeln("versão do idioma: "+browser.idioma);
document.writeln("Se é um terminal móvel: "+browser.versions.mobile);
document.writeln(" terminal ios: "+browser.versions.ios);
document.writeln(" terminal android: "+browser.versions.android);
document.writeln("Se é iPhone: "+browser.versions.iPhone);
document.writeln("Se iPad: "+browser.versions.iPad);
document.writeln(navigator.userAgent);
</script>
Um lugar bastante especial
O UC Browser não possui um cabeçalho Android e retorna apenas: linux Aqui, é considerado aproximadamente Android baseado em Linux (o pré-requisito deve ser um terminal móvel, com o qual o UC esteja satisfeito).
Os resultados de detecção da versão Android QQ Browser HD são: mac, Safari