Boucle entre version ordinateur et version mobile

Fermé
stef23_ Messages postés 31 Date d'inscription mardi 28 novembre 2017 Statut Membre Dernière intervention 7 août 2019 - Modifié le 6 août 2019 à 16:49
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 - 7 août 2019 à 20:51
Bonjour,
J'ai un bug assez énervant je vous l'admets, mon problème est que je développe un petit site internet etc et j'en arrive à créer une version mobile pour agrandir mon audience.
Pour y parvenir, j'utilise du Javascript, grâce à navigator.useragent.match(le client)
Cependant, quand je suis sur Android, la fenêtre se redirige entre la version ordinateur et mobile dans une boucle infini.
Sur iPhone, iPad et Ordinateur, cela fonctionne parfaitement.

Voici le fichier javascript ouvert dans Visual de la version ordinateur:


Et voici celui de la version mobile:


Malgré le fait d'avoir enlevé le user agent Linux de la version ordinateur, celle-ci redirige toujours vers le site mobile et de nouveau sur le site ordinateur.

J'espère avoir été assez clair. Je vous précise que j'ai copié-collé le code depuis des articles expliquant comment le faire. Et je ne suis pas un expert en javascript.

Merci de votre aide
A voir également:

1 réponse

dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451
7 août 2019 à 07:08
Bonjour,

Je ne maîtrise pas le JavaScript, j'utilise plutôt le PHP.

Mais, dans les deux cas le principe est le même, si une condition est remplie, une action est provoquée.
C'est ce qu'on appelle une "structure conditionnelle".

https://www.commentcamarche.net/contents/569-javascript-les-structures-conditionnelles

Dans ton script, je ne comprends pas la multitude de "if", un seul devrait suffire pour la première action (affichage de la version mobile), suivi d'un "else" pour la deuxième action (affichage de la version ordinateur).

C'est à dire, si le système est iphone, Androïd, etc, une action est exécutée (affichage de la version mobile), dans le cas contraire, l'action prioritaire est exécutée (affichage de la version ordinateur).

0
stef23_ Messages postés 31 Date d'inscription mardi 28 novembre 2017 Statut Membre Dernière intervention 7 août 2019 1
7 août 2019 à 20:19
Bonjour,

Oui merci mais comment fait-on ?
Je n'y connais rien en javascript je voudrais juste mettre un petit code pour ça je comptais pas plus l'utiliser.
0
dugenou Messages postés 6087 Date d'inscription mercredi 19 janvier 2005 Statut Contributeur Dernière intervention 30 juillet 2021 1 451
7 août 2019 à 20:51
Ça ressemblerait à ceci (non testé) :

var platform = document.getElementById('platform');

if ((navigator.userAgent.match(/iPhone/i))||(navigator.userAgent.match(/iPad/i))||(navigator.userAgent.match(/iPod/i))||(navigator.userAgent.match(/Android/i))) 
{ 
window.open("https://m.azilysrp.com","_top");
}

else {
window.open("https://azilysrp.com","_top");
}
0