Mon programmeur est en vacances, j'ai donc besoin de votre aide! J'ai découvert une page qui contient un bogue pour les utilisateurs de IE. Je souhaite rediriger tous les utilisateurs IE vers une autre page.
Comment puis-je faire ceci? J'ai cherché tout au long de Google et de Stackoverflow et je ne trouve pas de réponse. (J'ai trouvé des scripts et les ai essayés, mais aucun n'a fonctionné).
Essayer:
<!--[if IE]>
<script type="text/javascript">
window.location = "http://www.google.com/";
</script>
<![endif]-->
Ou, solution non-JS, insérez ce qui suit dans votre section head
:
<!--[if IE]>
<meta HTTP-EQUIV="REFRESH" content="0; url=http://www.google.com">
<![endif]-->
Rappel que la solution [if IE] ne s’applique pas à IE 10 ou supérieur. Cela peut être très gênant pour des "fonctionnalités" qui n'ont pas été corrigées par IE 10. Je vais essayer les solutions php et Java et les commenter à nouveau.
Pour Internet Explorer 10, celui-ci fonctionne bien
<script type="text/javascript">
if (navigator.appName == 'Microsoft Internet Explorer')
{
self.location = "http://www.itmaestro.in"
}
</script>
Je mets ceci dans l'en-tête et cela fonctionne pour toutes les versions IE:
<!-- For IE <= 9 -->
<!--[if IE]>
<script type="text/javascript">
window.location = "https://google.com";
</script>
<![endif]-->
<!-- For IE > 9 -->
<script type="text/javascript">
if (window.navigator.msPointerEnabled) {
window.location = "https://google.com";
}
</script>
Solution côté serveur utilisant PHP et fonctionnant sur tous les navigateurs:
<?
if ( preg_match("/MSIE/",$_SERVER['HTTP_USER_AGENT']) )
header("Location: indexIE.html");
else
header("Location: indexNonIE.html");
exit;
?>
J'utilise ce sale bidouillage pour rediriger les utilisateurs d'IE10 +
<script type="text/javascript">
var check = true;
</script>
<!--[if lte IE 9]>
<script type="text/javascript">
var check = false;
</script>
<![endif]-->
<script type="text/javascript">
if (check) {
window.location = "page_for_ie10+.html";
}
</script>