Forcer le mode navigateur «Internet Explorer 8» dans l’intranet

Il y a “Internet Explorer 8”, “Mode de compatibilité Internet Explorer 8” et le mode IE7 dans IE8.

Cependant, le paramètre par défaut dans IE fait que tous les sites Web intranet utilisent le “mode de compatibilité IE8”, même si j’ai paramétré le doctype, la balise meta, l’en-tête http comme suggéré pour le forcer en mode IE8.

j’ai

et

Mais il passe toujours dans “IE8 Compatibility Mode”, sans aucune modification des parameters d’IE.

Comment le forcer en mode “IE8” pur, sans modifier les parameters de votre navigateur?

PS Je ne parle pas de “mode document” ici.

    Il semblerait que MSFT n’a pas pris en compte un environnement intranet étendu dans lequel se trouvent de nombreuses applications Web différentes.

    Il n’y a aucun moyen de contourner le paramètre IE8, selon quelque part que j’ai lu sur le forum MSDN.

    Donc, je devrai demander à mes administrateurs système de mettre en place de nouvelles stratégies de groupe pour modifier le paramètre “Compatibility View” et la valeur et empêcher l’utilisateur de changer la valeur, jusqu’à ce que MSFT découvre ce bogue et le corrige.

    À partir d’un article de blog MSDN (sur lequel l’accent est mis): “Le mode navigateur est sélectionné avant qu’IE demande du contenu Web . Cela signifie que les sites ne peuvent pas choisir un mode de navigation .”

    Il est possible de remplacer le mode de compatibilité dans l’intranet. Ajoutez simplement le code ci-dessous à web.config. Travaillé pour moi avec IE9.

           

    Vous devrez apporter des modifications à IE.

    Les voici…..

    Dans les options Internet / Intranet local / Sites

    Sous: Intranet local à l’intérieur des sites, désélectionnez “Détecter automatiquement le réseau intranet”.

    Puis sélectionnez uniquement “Inclure tous les chemins réseau (UNC)”

    Voir les captures d’écran ci-jointes

    Capture d'écran

    J’ai trouvé les réponses difficiles à suivre, alors voici les informations importantes en quelques mots:

    Si votre intranet utilise les parameters par défaut pour Internet Explorer, IE7 Standards Mode est appliqué aux sites intranet indépendamment des parameters du site Web.

    De ceci :

    Affichage de compatibilité et de l’entreprise

    Un grand nombre de sites Web sectoriels sont compatibles avec Internet Explorer 7. Afin de préserver la compatibilité, Internet Explorer 8 est livré avec des parameters par défaut intelligents basés sur l’évaluation de la zone. Dans l’état par défaut, tous les sites Internet publics s’affichent en mode standard d’Internet Explorer 8 (affichage de compatibilité désactivé) et tous les sites Web intranet s’affichent en mode standard d’Internet Explorer 7 ( affichage de compatibilité activé ).

    Regardons quelques exemples. Si vous naviguez vers des sites sur votre intranet local comme http: // myPortal et http: // sharepoint / sites / mySite , Internet Explorer 8 s’identifie avec une chaîne d’agent utilisateur de «7», vecteur de version «7» , et affiche les pages Web qui déclenchent le mode standard dans le mode Internet Explorer 7 Standards. Cette combinaison permet aux pages Web fonctionnant correctement dans Internet Explorer 7 de continuer à le faire dans IE8.

    Pour remplacer les parameters d’affichage de compatibilité pour l’intranet ou tous les sites Web, IE8 doit s’émuler.

      

    Définissez un en-tête HTTP personnalisé au lieu d’utiliser dans la section . Celles-ci sont supposées être équivalentes, mais j'ai vu qu'un en X-UA-Compatible tête HTTP X-UA-Compatible du serveur remplacera le paramètre "Afficher les sites intranet dans l'affichage de compatibilité" d'IE 8, contrairement à l'élément

    Si vous utilisez .NET, j’ai la réponse pour vous:

    HTML :

     < !DOCTYPE html>    

    Web.Config:

            

    Lisez quelque part que la déclaration DOCTYPE doit être la toute première ligne . Aucun commentaire d’aucune sorte, ni lignes vides.

    En combinaison avec la définition des en-têtes de réponse HTTP, cela a fonctionné pour moi. Browser Mode est passé du “mode de compatibilité IE9” au seul “mode IE9”.

    HKEY_CURRENT_USER \ Software \ Microsoft \ Internet Explorer \ NavigateurEmulation IntranetCompatibilityMode 1 -> 0

    Pour que la déclaration META fonctionne, le doctype doit être la version simplifiée:

     < !DOCTYPE html> 

    Pas la plus longue déclaration dans la question de Dennis.

    Ce combo a fait le tour pour moi:

     < !DOCTYPE HTML>    

    au moins les outils de développement d’IE rapportent IE9 Compat View, normes IE8

    juste pour les coups de pied, j’ai essayé EmulateIE7 et cela a aussi bien fonctionné. simplifier l’extension! DOCTYPE était la clé.

    Vous devez supprimer le numéro de port du site de votre nom de domaine de site: 1180 / index /

    Si le navigateur affiche le numéro de port dans l’URL – salut “pensez”, c’est l’intranet.

    configurez votre serveur DNS pour des URL conviviales – site.com/index et ça marche OK

    La réponse marquée comme “correcte” est techniquement correcte mais suggère qu’il n’ya pas de solution au problème réel auquel sont confrontés la plupart des gens: “comment afficher correctement sur IE8, avec le mode de compatibilité activé, une application Web qui ne prend pas en charge le mode de compatibilité?”.

     < !DOCTYPE HTML>    

    Cela a fonctionné pour moi sur plusieurs postes de travail.

    Si le code ci-dessus est implémenté côté application, IE8 semble se comporter comme s’il n’était pas en mode compatibilité, même s’il affichera toujours le mode navigateur comme mode de compatibilité.