Problème de double condition if pc && navigateur [Fermé]

Signaler
Messages postés
1
Date d'inscription
mercredi 9 juillet 2014
Statut
Membre
Dernière intervention
9 juillet 2014
-
Messages postés
6650
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
-
Bonjour,

c'est ma première apparition sur ce site, j'espère être dans le bon forum.

J'ai un problème avec mon javascript.

Je souhaite rediriger le visiteur sur un lien en fonction de sa machine et de son navigateur.
J'ai réussi pour la machine mais je bute sur le nav.

Plus concrètement, je souhaite que si PC = pc et que mon nav soit msie , chrome ou opéra je sois redirigé sur un lien ; si PC = pc et que mon nav soit firefox ou safari je sois redirigé sur un autre lien ; si else (pas pc) que je sois redirigé sur le meme que le precedent.

Si quelq'un a une petite idée merci :)

j'ai essayé ca mais cela n'a pas marché :

var _url="";
var isPC = getBrowser().pc;
var typeInfo = "";
if((isPC == "pc")&&(typeInfo == "/msie|chrome|opera/")){
_url="flash/invedere_008.html";
}else{
_url="html5/008.html";
}

Voici mon code entier sans l'horreur du dessus:

<script type="text/javascript">
function getBrowser() {
var browerInfo = navigator.userAgent.toLowerCase();
var typeInfo = (browerInfo.match(/msie|firefox|chrome|safari|opera/) ||"other")[0];
var pc = "pc";
var prefix = "";
if (browerInfo.indexOf("ipad") > 0) {
pc = "ipad"
} else if (browerInfo.indexOf("iphone") > 0 || browerInfo.indexOf("ipod") > 0) {
pc = "iphone"
} else if (browerInfo.match(/Android/i)) {
pc = "android"
} else if (browerInfo.indexOf("touch") > 0 || browerInfo.indexOf("mobile") > 0) {
pc = "touchMobile"
}
switch (typeInfo) {
case "chrome":
case "safari":
prefix = "webkit";
break;
case "msie":
prefix ="ms";
break;
case "firefox":
prefix = "Moz";
break;
case "opera":
prefix = "O";
break;
default:
prefix = "webkit";
break
}
return {
version: (browerInfo.match(/[\s\S]+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) || [])[1],
plat: navigator.platform.toLowerCase(),
type: typeInfo,
pc: pc,
prefix: prefix
}
}
var _url="";
var isPC = getBrowser().pc;
if(isPC == "pc"){
_url="flash/invedere_008.html";
}else{
_url="html5/008.html";
}
window.location.href=_url;
</script>


Merci a vous

1 réponse

Messages postés
6650
Date d'inscription
mercredi 13 avril 2011
Statut
Membre
Dernière intervention
28 septembre 2015
1 290
Bonjour,

Vous dites: "Je souhaite rediriger le visiteur sur un lien en fonction de sa machine et de son navigateur. "


Mauvaise idée!

Faites un site qui ait un seul et même code valable pour tous les navigateurs. Ca s'appelle "responsive design" et en css on utilise les media queries.

A+