Principio de juicio:
JavaScript es el lenguaje principal para el desarrollo front-end. Podemos determinar el tipo y la versión del navegador escribiendo programas JavaScript. Generalmente existen dos métodos para que JavaScript determine el tipo de navegador. Uno se basa en los atributos únicos de varios navegadores y el otro se determina analizando el atributo userAgent del navegador. En muchos casos, después de determinar el tipo de navegador por valor, es necesario determinar la versión del navegador para manejar los problemas de compatibilidad y, por lo general, solo se puede conocer la versión del navegador analizando el agente de usuario del navegador.
tipo de navegador
⑴ Atributos específicos del navegador
⑵Según userAgent
Versión del navegador
⑴Según userAgent
Juicio para navegadores móviles
1. ¿Cómo determinar si se trata de un terminal móvil que utiliza una coincidencia regular?
Coincide si navigator.userAgent contiene la cadena AppleWebKit*****Mobile
La versión HD del navegador qq de Android solo tiene AppleWebKit
2. Juicio sobre la versión del idioma del teléfono móvil
Utilice navigator.browserLanguage para obtener la versión del idioma de Windows Phone.
Por supuesto, la versión de idioma del pequeño y odioso teléfono móvil también tiene diferencias de compatibilidad. Los navegadores que son compatibles con los kernels de Mozilla y Apple WebKit incluirán navigator.language al acceder a su versión de idioma.
CÓDIGO:
Copie el código de código de la siguiente manera:
<tipo de script="texto/javascript">
var navegador={
versiones:función(){
var u = navigator.userAgent, aplicación = navigator.appVersion;
return { //Información de la versión del navegador del terminal móvil
tridente: u.indexOf('Trident') > -1, //núcleo IE
listo: u.indexOf('Presto') > -1, //núcleo de ópera
webKit: u.indexOf('AppleWebKit') > -1, //Apple, núcleo de Google
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //Núcleo de Firefox
móvil: !!u.match(/AppleWebKit.*Mobile.*/), //Si es un terminal móvil
ios: !!u.match(//(i[^;]+;( U;)? CPU.+Mac OS X/), //terminal ios
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //terminal Android o navegador UC
iPhone: u.indexOf('iPhone') > -1, //Ya sea iPhone o navegador QQHD
iPad: u.indexOf('iPad') > -1, //Si es iPad
webApp: u.indexOf('Safari') == -1 //Si la web debería ser un programa sin encabezado ni fondo
};
}(),
idioma:(navigator.browserLanguage || navigator.language).toLowerCase()
}
document.writeln("versión de idioma: "+navegador.idioma);
document.writeln(" Si es un terminal móvil: "+browser.versions.mobile);
document.writeln(" terminal ios: "+browser.versions.ios);
document.writeln(" terminal android: "+browser.versions.android);
document.writeln(" Si es iPhone: "+browser.versions.iPhone);
document.writeln(" Si iPad: "+browser.versions.iPad);
document.writeln(navigator.userAgent);
</script>
Un lugar bastante especial
UC Browser no tiene un encabezado de Android y solo devuelve: linux. Aquí, se considera aproximadamente que es Android basado en Linux (el requisito previo debe ser un terminal móvil, con el que UC esté satisfecho).
Los resultados de detección de la versión Android QQ Browser HD son: mac, Safari