Aquí está mi fragmento de código para la detección de un móvil de pantalla basado en el tamaño de la pantalla. Puede forzar el sitio para permanecer en el escritorio en modo mediante la adición de un forceDesktop parámetro a la URL.

Soy nuevo en jquery así que si usted tiene sugerencias, por favor comente.

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>
  • Sé que este post es de más de 2 años de edad, pero realmente debería ser en codereview en lugar de aquí…

4 Comentarios

  1. 3

    De hecho, creo que es importante detectar el móvil de la anchura de la ventana.

    Así que aquí está la forma en la que yo estoy utilizando.

    function detectmob() {
       if(window.innerWidth <= 800 || window.innerHeight <= 600) {
         return true;
       } else {
         return false;
       }
    }
    
    if (detectmob()){
    top.location.href="mobile";
    }
    • Creo que usted necesita OR, no AND, porque muchas de las pantallas de teléfono son 720 o 800px de alto mientras que siendo sólo 480px de ancho.
    • Sí que son verdaderas permite editar la respuesta.
  2. 3

    Si vas a utilizar algún tipo de navegador-sniffing en lugar de la característica de detección a través de algo como Modernizr, su mejor apuesta es para agarrar un poco de secuencia de comandos de http://detectmobilebrowsers.com/ en lugar de utilizar cultivados en casa /incompleta scripts pega aquí y allá.

  3. 3

    ¿por qué no esta?

    if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
        window.location = "http://m.mysite.tld/"; 
    }
  4. 2

    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 obtener más Aquí

    • Sí, también es válido location.replace("http://m.mysite.com/") Pero si quiere utilizar la url para otro propósito, a continuación, se puede almacenar en caché en var.

Dejar respuesta

Please enter your comment!
Please enter your name here