jquery - resolucion - La mejor forma de detectar dispositivos móviles y redirigirlos
detectar smartphone php (4)
En realidad, creo que es importante detectar el móvil desde el ancho de la ventana.
Así que aquí está la forma en que estoy usando.
function detectmob() {
if(window.innerWidth <= 800 || window.innerHeight <= 600) {
return true;
} else {
return false;
}
}
if (detectmob()){
top.location.href="mobile";
}
Aquí está mi fragmento para detectar una pantalla móvil basada en el tamaño de la pantalla. Puede obligar al sitio a permanecer en el modo de escritorio agregando un parametro forceDesktop a la URL.
Soy nuevo en jquery, así que si tienes alguna sugerencia, por favor comenta.
Los créditos van a brandonjp: ¿cómo puedo obtener valores de cadena de consulta en JavaScript?
<script>
$.urlParam = function(name, url) {
if (!url) {
url = window.location.href;
}
var results = new RegExp(''[//?&]'' + name + ''=([^&#]*)'').exec(url);
if (!results) {
return undefined;
}
return results[1] || undefined;
}
window.onload = function() {
var forceDesktop = $.urlParam(''forceDesktop'');
if (!forceDesktop) {
if ( $(window).width() < 639) {
var url = "http://m.mysite.com/";
$(location).attr(''href'',url);
}
}
};
</script>
Si va a utilizar algún tipo de detección de navegador en lugar de detección de funciones a través de algo como Modernizr , su mejor opción es tomar algún script de http://detectmobilebrowsers.com/ en lugar de usar scripts de cosecha propia / incompletos pegados aquí. y ahi.
por qué no esto?
if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
window.location = "http://m.mysite.tld/";
}
la mejor manera es
if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) )
{
var url = "http://m.mysite.com/";
$(location).attr(''href'',url);
}
Para más aquí