Internet Explorer – la fonction window.open() perd le referer
Je viens de découvrir que Internet Explorer ne transmet pas le referer lorsqu’une popup est affichée avec la fonction window.open() en Javascript. Bien entendu, votre butineur préféré, Firefox, transmet correctement le referer mais pas Internet Explorer ! 🙁
La première idée qui vient à l’esprit est d’utiliser le tag <a /> avec l’attribut target comme ceci :
<a href="monlien"
target="_blank">Cliquez ici<a>
Cette méthode fonctionne très bien. En revanche, elle ne permet pas de spécifier certaines options propres aux popups qui leurs donnent leur aspect bien particulier. C’est pourquoi, je vous propose une solution qui est un contournement au problème rencontré avec Internet Explorer et qui fonctionne aussi avec Firefox :
<a href="monlien"
onclick="javascript:window.open('','mapopup','modal=yes,scrollbars=no,menubar=no,toolbar=no');"
target="mapopup">Cliquez ici<a>
Voilà ! Vous avez un lien qui ouvre une popup correctement. Et ce lien transmet sous Firefox et surtout sous Internet Explorer le referer.
https://blog.lecacheur.com/2009/06/15/internet-explorer-la-fonction-windowopen-perd-le-referer/Développementinternet explorerJe viens de découvrir que Internet Explorer ne transmet pas le referer lorsqu'une popup est affichée avec la fonction window.open() en Javascript. Bien entendu, votre butineur préféré, Firefox, transmet correctement le referer mais pas Internet Explorer ! 🙁 La première idée qui vient à l'esprit est d'utiliser le tag <a...SeBSébastien LECACHEUR23r0@laposte.netAdministratorLe weblogue de SeB
Ne sait pas de quand ça date
Ne marche pas sous IE7 ou IE8
Trouvetou,
J’ai testé cette solution avec Chrome 2, FF3, IE6 et IE7. Pour ma part, ça fonctionne très bien sur ces quatre navigateurs…
Salut Séb,
Pour les développeurs full XHTML (comme moi ^o^), target = « _blank » c’est déjà banni ! Le W3C dit que c’est caca donc il est recommandé de ne plus l’utiliser même en HTML simple.
D’ailleurs, je me demande si ce n’est pas la balise target tout court qui est déconseillée. Faudrait essayer de l’enlever pour voir si ça fonctionne en gardant la fonction window.open
Jean-Manu,
Effectivement, l’attribut target ne doit pas être le copain du XHTML et personnellement, je n’utilise pas. Là je parle d’une bidouille pour répondre à une problématique bien particulière : perte du referer sur un window.open() avec IE.