Cómo determinar el tipo de cliente usando JS
Este artículo resume e introduce principalmente cuatro métodos para usar JS para determinar el tipo de cliente, como juzgar el agente de usuario del navegador, verificar si es un terminal móvil (Móvil), ipad, iphone, Amigos que Si lo necesita, puede consultar los métodos de WeChat, QQ, etc. a continuación
Prólogo
Cuando escribimos diseños receptivos, siempre debemos considerar si se trata de un terminal móvil. Aquí se resumen 4 métodos para determinar si el cliente es iOS o Android. Compártalo para referencia y estudio de todos. Echemos un vistazo a la introducción detallada con el editor.
El método es el siguiente:
1. El primer método: al juzgar el agente de usuario del navegador, utilice reglas regulares para juzgar si es un cliente de iOS y Android.
Agente de usuario El nombre chino es Agente de usuario, que forma parte del protocolo HTTP y un componente del dominio de encabezado también se conoce como UA. Es un encabezado de cadena especial, un identificador que proporciona el tipo y la versión del navegador, el sistema operativo y la versión, el núcleo del navegador y otra información que está utilizando en el sitio web visitante. A través de este logotipo, el sitio web visitado por el usuario puede mostrar diferentes diseños para brindar a los usuarios una mejor experiencia o realizar estadísticas de información, por ejemplo, acceder a Google desde un teléfono móvil es diferente a acceder desde una computadora. Estos son determinados por Google en función de. la UA del visitante de. La UA puede disfrazarse.
El formato estándar de la cadena UA del navegador: identificación del navegador (identificación del sistema operativo; identificación del nivel de cifrado; idioma del navegador) que representa la información de la versión de identificación del motor. Pero cada navegador es diferente.
El código es el siguiente:
var u = navigator.userAgent;
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //terminal android
var isiOS = !!u.match(/ \(i [^;]+;( U;)? CPU.+Mac OS X/); //terminal ios
alerta('¿Es Android:'+es Android);
alert('Si es iOS:'+isiOS);
2. El segundo método: verifique si es móvil, ipad, iphone, WeChat, QQ, etc.
2.1 El código es el siguiente:
//Determinar el terminal de acceso
var browser= {
versiones:función(){
var u = navigator.userAgent,
app = navigator.appVersion;
return {
tridente: u.indexOf('Trident') > -1, //núcleo IE
presto: u.indexOf('Presto') > -1, //núcleo de ópera
webKit: u.indexOf('AppleWebKit') > -1, //núcleo de Apple, Google
gecko: u.indexOf('Gecko') > - 1 && u. indexOf('KHTML') == -1,//Núcleo de Firefox
mobile: !!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('Adr') > -1, //terminal android
iPhone: u.indexOf('iPhone') > -1 , // ¿Es un iPhone o un navegador QQHD?
iPad: u.indexOf('iPad') > -1, // ¿Es un iPad?
webApp : u.indexOf('Safari') = = -1, //Si la web debe ser un programa, sin encabezado ni fondo
weixin: u.indexOf('MicroMessenger') > -1, / /Ya sea WeChat (recién agregado el 22 de enero de 2015)
qq: u.match(/\sQQ/i) == " qq" //¿Es QQ?
};
}(), p>
idioma:(navigator.browserLanguage || navigator.language).toLowerCase()
}
2.2 Uso
/Determinar si es un núcleo de IE
if(browser.versions.trident){ alert("is IE"); /p>
//Determine si es un núcleo de webKit
if(browser.versions.webKit){ alert("is webKit" }
//Determine si es móvil
if(browser.versions.mobile||browser.versions .android||browser.versions.ios){ alert("mobile" }2.3 Detectar el idioma del navegador
currentLang = navigator.language; //Determina el idioma utilizado por otros navegadores excepto IE
if(!currentLang){//Determina el idioma utilizado por el navegador IE
currentLang = navegación
igator.browserLanguage;
}
alert(currentLang);3. Determine el cliente iPhone|iPad|iPod|iOS|Android
El código es el siguiente: p>
if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { //Juzga iPhone|iPad|iPod|iOS
//alerta (navigator .userAgent);
window.location.href ="iPhone.html";
} else if (/(Android)/i.test(navigator.userAgent)) { / /Juzgar Android
//alert(navigator.userAgent);
window.location.href ="Android.html";
} else { // pc
window.location.href ="pc.html";
};4. Determina si es PC o móvil
El código es de la siguiente manera:
//Determinar si hay acceso a un teléfono móvil
var userAgentInfo = navigator.userAgent.toLowerCase();
var Agents = [" android", "iphone",
"symbianos", "windows phone",
"ipad", "ipod"];
var ly=document .referrer; //Devuelve la URL de la página web donde se encuentra el hipervínculo que navega a la página web actual
for (var v = 0; v < Agents.length; v++ ) {
if (userAgentInfo .indexOf(Agents[v]) >= 0&&(ly==""||ly==null)) {
this.ubicación.href =''; //dirección wap
}
}
5. Códigos de salto de uso común
Mira el código
// borwserRedirect
(función browserRedirect(){
var sUserAgent = navigator.userAgent.toLowerCase();
var bIsIpad = sUserAgent.match(/ipad/i) == 'ipad';
var bIsIphone = sUserAgent.match(/ iphone os/i) == 'iphone os';
var bIsMidp = sUserAgent.match(/midp/i) == 'midp';
var bIsUc7 = sUserAgent.match (/rv:1.2.3.4/i) == ' rv:1.2.3.4';
var bIsUc = sUserAgent.match(/ucweb/i) == 'web';
< pag> var bIsCE = sUserAgent.match(/windows ce/i) == 'windows ce';
var bIsWM = sUserAgent.match(/windows mobile/i) == 'windows mobile'; p> p>
var bIsAndroid = sUserAgent.match(/android/i) == 'android';
var nombre_ruta = ubicación.nombre_ruta
if(bIsIpad || bIsIphone || bIsMidp || bIsUc7 || bIsUc || bIsWM || bIsAndroid ){
ventana.ubicación.href = ''+nombre de ruta; }
})();
Lo anterior es lo que compilé para todos, espero que sea útil para todos en el futuro.
Artículos relacionados:
El problema de que beforeRouteLeave no se puede activar cuando el navegador regresa al usar Vue
Cómo resolver el problema de tocar "hacer clic" en código fastclick
Cómo implementar casillas de verificación animadas en anime.js
Componentes comunes y estructuras de framework en vue (tutorial detallado)