2010-03-09 7 views
18

Lorsque les utilisateurs vont sur mon site Web, je veux les forcer à utiliser le mode non-compatibilité Internet Explorer 8. Si elles utilisent le mode de compatibilité, mon site Web ne fonctionne pas.Comment désactiver le "mode de compatibilité" dans Internet Explorer 8 pour mon site Web?

Comment le forcer? Est-ce une balise META?

Editer: Oui, vous pouvez le faire. La solution est la suivante:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" /> 
+0

double: http://stackoverflow.com/questions/2064702/force-ie8-not-to-use -compatibility-view –

+0

Votre site ne fonctionne-t-il pas dans IE7? Ou existe-t-il une différence entre le mode de compatibilité IE7 et IE8 qui cause le problème? – bdukes

Répondre

8

Vous pouvez le faire as a tag or as a setting in IIS (avec l'étiquette), réglé sur IE = EmulateIE8

+1

Je peux me tromper, mais ce n'est pas une bonne réponse - sur cette page, ils discutent comment forcer le mode de compatibilité, pas éteint. – Zhenya

+0

Désolé, il devrait être plus clair ce que le tag doit être. Édité. – Tom

+1

Juste pour que les gens ne deviennent pas confus cela ne fonctionnera pas dans un intranet. Les grandes entreprises et les gouvernements peuvent avoir de très gros intranets avec des centaines de sites individuels. Microsoft a décidé que si votre site se trouve dans un intranet, vous êtes tous bloqués avec le mode de compatibilité, à moins que chaque utilisateur ou groupe de règles ne le dise autrement. un petit propriétaire de site dans une grande entreprise n'a presque aucun contrôle. – DeveloperChris

-1

Je recommanderais de ne pas le faire, même si vous pouvez trouver un moyen de le faire. Le mode de compatibilité est un paramètre que l'utilisateur est censé contrôler. Vous ne devriez pas le changer sous l'utilisateur.

Vous devez soit corriger votre site pour fonctionner avec le mode de compatibilité, ou tout simplement dire à vos utilisateurs de ne pas le faire.

+0

Pourquoi la downvote? Suis-je censé deviner? –

+0

Désolé, mauvaise lecture la question. Revenir au vote. – Joey

+0

@Johannes: J'ai compris qu'il parlait de la nouvelle fonctionnalité "Compatibility View" de IE, qui est clairement une fonctionnalité utilisateur. Que pensez-vous qu'il vous demande? –

4

Vous ne pouvez pas forcer IE en mode non-compatibilité.

Ce que vous pouvez faire est de dire au navigateur que la page fonctionne dans IE 8, puis il supprimera le bouton de compatibilité dans la barre d'adresse. Un utilisateur peut bien sûr toujours forcer le navigateur en mode de compatibilité, mais pas avec un simple clic sur un bouton.

Voir: How to avoid ie8 compatibility button?

0
<meta http-equiv="X-UA-Compatible" content="IE=9" /> 
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> 
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" /> 
<META content="IE=edge" http-equiv="X-UA-Compatible"> 
<meta http-equiv="X-UA-Compatible" content="IE=8" /> 
<meta http-equiv="X-UA-Compatible" content="IE=IE9" /> 
<meta http-equiv="X-UA-Compatible" content="IE=Edge" /> 

tous et tout cela pourrait aider, mais tout dépend de votre script. Vous n'avez pas besoin d'utiliser tout ce que c'est juste une façon différente de le dire. cela dépend de script que vous utilisez sur le site

1

Vous devez retirer le numéro de port de votre domaine site Nom du site:/index/

Si le navigateur voir le numéro de port url - salut "pense", c'est est intranet.

configurer votre serveur dns pour urls friendly - site.com/index et il fonctionne OK

0

Voici quelques JS qui aide

code dans la condition suivante ne fonctionne que dans IE7 et inférieur: Le code ci-dessous fonctionne si l'utilisateur est sur IE7 ou même dans IE 8 (affichage de compatibilité uniquement), vous pouvez alors les naviguer vers votre page d'erreur.

if (document.all && !document.querySelector) { 
alert('you are on IE7 or lower'); 
window.location.href = "URL"; 
} 

Le prochain court dans IE8, mais pas dans IE7 ou IE9 +:

if (document.all && document.querySelector && !document.addEventListener) { 
alert('you are on IE8'); 
window.location.href = "URL"; 
} 
Questions connexes