détection de navigateur émulateur Applications
-
20-09-2019 - |
Question
Je développe une version mobile d'un site Web. J'utilise actuellement ce Javascript pour détecter et rediriger l'utilisateur:
if((navigator.userAgent.match(/iPhone/i)) ||
(navigator.userAgent.match(/Android/i)) ||
(navigator.userAgent.match(/iPod/i)))
{
window.location = "http://sitename.com/m/";
}
Fonctionne très bien avec l'iPhone et l'iPod, mais pas de succès avec Android. J'utilise l'émulateur Android au sein d'Eclipse. Je n'ai pas un gadget Android pour tester réellement.
Est-ce que je fais quelque chose de mal? Toute personne ayant le même problème?
La solution
Vous devez utiliser location.replace au lieu de window.location
Exemple:
if( (navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/Android/i)) || (navigator.userAgent.match(/iPod/i)) ) {
location.replace("http://sitename.com/m/");
}
J'ai utilisé ce code et il fonctionne sur iPhone / iTouch et téléphones / appareils Android.
Autres conseils
est ici fonction JavaScript pour détecter la mine appareil Android:
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 ne fonctionne pas dans Android? Vraiment? Semble fonctionne très bien pour moi sur Android 2.3.4. Quelle version (s) d'Android, avez-vous les gars utiliser où vous ne pourriez pas obtenir window.location charger avec succès une nouvelle URL dans le navigateur?