Frage

Ich bin eine mobile Version einer Website zu entwickeln. Ich bin im Moment mit Javascript um den Benutzer zu erkennen umzuleiten:

if((navigator.userAgent.match(/iPhone/i)) || 
                (navigator.userAgent.match(/Android/i)) ||
                (navigator.userAgent.match(/iPod/i))) 
        { 
        window.location = "http://sitename.com/m/";
    }

funktioniert mit iPhone und iPod, aber ohne Erfolg mit Android. Ich bin mit dem Android-Emulator innerhalb von Eclipse. Ich habe nicht einen Android-Gadget, um es tatsächlich zu testen.

Bin ich etwas falsch? Wer das gleiche Problem zu haben?

War es hilfreich?

Lösung

Sie sollten verwenden location.replace statt window.location
Beispiel:

if( (navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/Android/i)) || (navigator.userAgent.match(/iPod/i)) ) { 
    location.replace("http://sitename.com/m/");
}

habe ich diesen Code und es funktioniert auf dem iPhone / iTouch und Android-Handys / Geräte.

Andere Tipps

Hier ist meine JavaScript-Funktion Android-Gerät zu erkennen:

function isAndroid() {
    var ua = navigator.userAgent;
    return ua.match(/Android/) 
        || ua.match(/Dalvik/)
        || ua.match(/GINGERBREAD/)
        || ua.match(/Linux;.*Mobile Safari/)
        || ua.match(/Linux 1\..*AppleWebKit/)
};

window.location funktioniert nicht in Android? "Ja wirklich?" Erscheint für mich auf Android 2.3.4 nur gut zu funktionieren. Welche Version (en) von Android haben Sie Jungs verwenden, wo man nicht window.location bekommen konnte, um erfolgreich eine neue URL in den Browser geladen werden?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top