Boucle entre version ordinateur et version mobile [Fermé]

Signaler
Messages postés
30
Date d'inscription
mardi 28 novembre 2017
Statut
Membre
Dernière intervention
7 août 2019
-
Messages postés
6075
Date d'inscription
mercredi 19 janvier 2005
Statut
Contributeur
Dernière intervention
14 juin 2021
-
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

1 réponse

Messages postés
6075
Date d'inscription
mercredi 19 janvier 2005
Statut
Contributeur
Dernière intervention
14 juin 2021
1 418
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).

Messages postés
30
Date d'inscription
mardi 28 novembre 2017
Statut
Membre
Dernière intervention
7 août 2019

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.
Messages postés
6075
Date d'inscription
mercredi 19 janvier 2005
Statut
Contributeur
Dernière intervention
14 juin 2021
1 418
Ç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");
}