Su consultor TI

Conozca su infraestructura, mejore lo que necesite

Como detectar la navegación desde dispositivos móviles con JavaScript

Os voy a explicar un par de formas para detectar que un dispositivo móvil ha cargado vuestra página.

Os paso a continuación el código JavaScript que yo uso:

if (navigator.userAgent.match(/iPhone/i) ||
    navigator.userAgent.match(/iPad/i) ||
    navigator.userAgent.match(/iPod/i) ||
    navigator.userAgent.match(/Android/i) ||
    navigator.userAgent.match(/WindowsPhone/i) ||
    navigator.userAgent.match(/BlackBerry/i) ||
    navigator.userAgent.match(/Opera Mini/i) ||
    navigator.userAgent.match(/IEMobile/i) ||
    navigator.userAgent.match(/webOS/i))
{
    Vuestro código para el caso de ser un dispositivo móvil
}

Como podéis ver, se hace por simple comparación con cadenas de texto proporcionadas por la función JavaScript navigator.userAgent.

El único problema de este código es que solo detecta un número finito de navegadores móviles. Imagino que, como yo, pensaréis que el 99% de ellos están contemplados en ese código, pero si queréis un código que supuestamente controle el 100% en un cierto momento dado, podéis descargar los scripts de la página http://detectmobilebrowsers.com/. Yo no los he usado puesto que me gusta más el que os he mostrado al principio y me parece mucho menos engorroso.

Es conveniente ejecutar este código una vez esté cargada la página, aunque a mi me ha funcionado ejecutándola sin necesidad de haber cargado la página compleamente. Este caso podría ser útil si estáis cargando una página muy pesada y en el caso de un móvil no deseáis que se cargue del todo antes de realizar la acción que podría ser, por ejemplo, llevarlos a otra página desarrollada para móviles, mucho menos pesada.

En caso de que deseéis ejecutarlo en el evento de carga de la página, si usáis jQuery es muy sencillo:

$(document).ready(function());

Donde function sería la función que contendría el código de detección del navegador.
Si solo usáis JavaScript, podéis usar este evento:

window.onload = function(){}

Espero que os pueda ser útil.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *


*

Su consultor TI © 2014 Frontier Theme