joboy84 Posté 22 Mars 2010 Posté 22 Mars 2010 Bonsoir, Je rencontre un problème avec internet explorer lorsque j'utilise des frames. J'aimerai donc qu'un lien différent s'affiche en fonction du navigateur. J'ai voulu faire : <!--[if IE]><a href="http://www.rice.com/Signup.php?sponsorId=10">Lien IE</a><![endif]--><![if !IE]><a href="inscriptionDistrib.php">Lien autres navigateurs</a><![endif]> Le problème est que sur tous les navigateurs hormis IE, le contenu figurant après ces balises ne s'affiche pas. J'ai donc pensé que c'est possible de faire ce que je souhaite avec javascript, mais comment ? Merci
SStephane Posté 22 Mars 2010 Posté 22 Mars 2010 Il existe plusieurs façons en réalité, tu peux essayer effectivement en JS en testant sur les attributs de l'object navigator : navigator.appName & navigator.appVersion voire même sur navigator.userAgent. Tu peux éventuellement le faire moins grassement en PHP (ou n'importe quel langage serveur pour détecter le nom d'agent) en regardant du côté de $_SERVER['HTTP_USER_AGENT'] (c'est de mémoire vérifie, je suis pas à fond de php). Par contre attention, les navigateurs n'envoient pas forcément ces en-têtes, affiche donc un lien par défaut
Neroth Posté 24 Mars 2010 Posté 24 Mars 2010 <a id="navlink" href="inscriptionDistrib.php">Lien autres navigateurs</a><script type="text/javascript">if(document.all){var navlink = document.getElementById("navlink");navlink.innerHTML = "Lien IE";navlink.href = "http://www.rice.com/Signup.php?sponsorId=10";}</script> Voilà pour la manière JS ! Et pour la manière PHP : <?php$navlink = '<a href="inscriptionDistrib.php">Lien autres navigateurs</a>';if (eregi('msie', $HTTP_USER_AGENT) && !eregi('opera', $HTTP_USER_AGENT)) {$navlink = '<a href="http://www.rice.com/Signup.php?sponsorId=10">Lien IE</a>';}echo $navlink;?> Voilà ! En espérant t'avoir aidé !
Neroth Posté 24 Mars 2010 Posté 24 Mars 2010 (modifié) EDIT : $HTTP_USER_AGENT en $_SERVER["HTTP_USER_AGENT"] Modifié 24 Mars 2010 par Neroth
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant