Problème de double condition if pc && navigateur

Fermé
Cosmax Messages postés 1 Date d'inscription mercredi 9 juillet 2014 Statut Membre Dernière intervention 9 juillet 2014 - 9 juil. 2014 à 19:42
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 - 10 juil. 2014 à 14:42
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
A voir également:

1 réponse

mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
10 juil. 2014 à 14:42
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+
0