2014-06-17 4 views
0

J'ai une question.Comment rediriger IE11 vers un autre site

Je dois rediriger l'utilisateur IE vers un autre site Web et IE6 à IE9 ce code fonctionne très bien.

<!--[if IE]><script type="text/javascript">window.location = "google.com";</script><![endif]--> 

Ce code fonctionne très bien pour IE 10

<script type="text/javascript">if (navigator.appName == 'Microsoft Internet Explorer'){self.location = "google.com"}</script> 

Mais je ne peux trouver aucune solution pour IE11 - dans ce navigateur mon site ne redirige pas .

Je cherche vraiment plus de temps cette solution mais je ne trouve pas de réflexion.

Peut-être savez-vous comment écrire un seul script pour rediriger tous les navigateurs IE vers un autre site Web?

Merci beaucoup!

+8

Par curiosité, pourquoi avez-vous besoin de rediriger les utilisateurs d'IE11? Il devient assez conforme aux normes (je ne dis pas 100%). Donc, personnellement, je ne vois pas pourquoi vous devriez forcer une redirection pour ces utilisateurs. –

+0

ie 11 s'identifie comme Ms internet explorer plus .. voir ici http://stackoverflow.com/questions/17907445/how-to-detect-ie11 –

+0

fan @ferrari .. activex peut-être :) –

Répondre

0

Les sentiments des fans de Ferrari vont faire écho ... Beaucoup des anciennes raisons pour lesquelles vous mettriez les utilisateurs d'IE sur un site différent ne sont plus vraiment valables. De toute façon, d'après mon expérience, avec les récents changements de IE11, une méthode plus fiable de reniflage de navigateur est en vérifiant la version "Trident" dans navigator.userAgent, plutôt que la version IE. Le mien est:

Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 
3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; rv:11.0) like Gecko 

Ici il est répertorié comme 7.0, qui a été créé avec IE11. 6 ou moins serait d'autres versions. Gardez à l'esprit que le cycle de publication d'Internet Explorer peut être plus rapide que d'autres navigateurs, il est donc possible que votre site traite "Trident/10.0" (IE 14) avant longtemps - assurez-vous que vos modèles correspondent bien.

2

Veuillez ne pas faire ceci.

La détection du navigateur est connue pour être très peu fiable et n'est pas du tout à l'épreuve du temps.
Comme en témoigne le fait que vous ayez ce problème en premier lieu. Au lieu de cela, détecter les fonctionnalités du navigateur et fournir ce dont vous avez besoin à partir de ceux-ci.

Découvrez ces ressources:


Si vous avez Pour ce faire, vous pouvez utiliser l'une de ces méthodes:

Ex:

if (!!navigator.userAgent.match(/Trident.*rv\:11\./)) {self.location = "google.com"} 
+0

La détection des caractéristiques est un excellent idéal, mais compte tenu de mon travail avec des technologies vidéo de pointe, ce n'est tout simplement pas viable pour absolument tout pour le moment. Si l'expérience de l'utilisateur est critique, alors un développeur DOIT programmer des choses comme "Est-ce Chrome, le SEUL navigateur qui se comporte un peu différemment avec cette fonction particulière qu'il pense supporter?" Un des commentaires de l'OP illustre les problèmes de vidéo HTML5 qu'il a, malgré tous les navigateurs supportant tous les codecs. – Katana314

6

Suite à vos commentaires, détection de navigateur n'est pas la voie à suivre.

Utilisez plutôt la détection de fonction. Dans ce cas:

var test = document.createElement('video'); 
if(!test.canPlayType) { /* HTML5 video not supported at all */ } 
else if(!test.canPlayType("video/whatever")) { 
    // replace "whatever" with the correct MIME type 
    // if that type is not supported, do something here 
} 
else { /* you're all good? */ } 
Questions connexes