J'ai une page utilisant quelque chose le long des lignes de
<meta http-equiv="refresh" content="0;url=http://example.com/" />
mais pour certains utilisateurs sur un poste de travail donné, cela ne fonctionne pas. Le est dans IE. Y a-t-il quelque chose qui cloche avec les cookies ou un réglage quelque part qui pourrait causer l'échec? Je n'ai jamais entendu parler d'une telle chose.
Le problème est que quand IE voit ceci:
<meta http-equiv="refresh" content="0;http://www.example.com" />
il s'attend à ce que l'attribut content contienne un nombre. La seule fois où IE recherchera une URL, c'est si l'attribut content contient "URL =". La redirection la plus utilisable dans tous les navigateurs est donc la suivante:
<meta http-equiv="refresh" content="0;URL=http://www.example.com" />
L'exemple ci-dessus redirigerait immédiatement, mais si vous changiez le 0 pour un autre numéro, il attendrait autant de secondes. J'espère que tout cela a du sens, que ça devrait marcher, mais je pense toujours que ma première idée était la meilleure.
Il existe un paramètre de sécurité dans Internet Explorer qui n'autorise pas l'actualisation des balises méta. Il est sous l'onglet Sécurité, puis choisissez Personnaliser le niveau et l'actualisation de la balise méta sous Divers. Si cela est désactivé, le méta-rafraîchissement ne fonctionnerait plus.
En plus de pouvoir le désactiver sélectivement, il est automatiquement désactivé si vous définissez le niveau de sécurité d'IE sur «Elevé» [observé dans IE9].
est-ce vraiment une ancienne version d'IE? Si oui, essayez:
<meta http-equiv="refresh" content="0;url=http://example.com/"> </meta>
Il faut un espace blanc. L'éditeur HTML se plaindra, mais ignorez-le.
Découvrez cette solution. Il gère à la fois javascript et méta-refresh: Meta-refresh et javascript
La balise META n'est pas une balise vide et n'a pas de balise de fermeture en HTML, uniquement en XHTML. (Si vous envoyez vraiment du XHTML, il se peut que cela ne fonctionne pas correctement sur les anciennes versions de IE, il n’ya que des solutions de contournement pour envoyer XHTML vers des versions plus anciennes IE.)
Essayer:
<meta http-equiv="refresh" content="0;url=http://example.com/">
Description de la balise META W3 Schools
Vous pourriez aussi essayer:
Juste une supposition sauvage: peut-être y a-t-il des bloqueurs de publicité installés sur ces machines où la redirection ne fonctionne pas ... Vous ne pouvez trouver aucune autre raison pour laquelle cette technique courante fonctionne sur certaines machines alors qu'elle échoue sur d'autres pour vous.
Si quelqu'un essaie d'utiliser la méta-actualisation pour rediriger vers une nouvelle URL dans les applications Facebook (application Page Tab ou application IFRAME), la balise est désactivée par Facebook.
La solution est:
<script>
top.window.location = 'http://example.com';
</script>
N'oubliez pas de cibler "top", car les applications Facebook sont dans IFRAME.