web-dev-qa-db-fra.com

Forcer IE10 à s'exécuter dans l'affichage de compatibilité IE10?

J'ai une application qui est défectueuse dans IE10 mais fonctionne correctement dans l'affichage de compatibilité IE10. Une rapide recherche sur Google dans le 

<meta http-equiv="X-UA-Compatible" content="IE=8">
<!-- plus variations such as emulate, quirks, 7, 8, 9 --->

étiquette. Certains documents MS sur l’étiquette sont ici . Si vous appuyez sur F12, vous constaterez que le mode de document change. J'en ai besoin pour changer le Mode navigateur en affichage de compatibilité Internet Explorer 10. Y at-il une balise qui fera cela?

enter image description here

UPDATE Je dois mentionner que j'ai essayé tous les doctypes suivants et qu'aucun d'entre eux ne fonctionne. Je pense que la seule façon de faire en sorte que cela fonctionne dans IE10 est d'utiliser l'affichage de compatibilité. 

<!--
    <!DOCTYPE html>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
    TRIED NO DOCTYPE AT ALL TOO
-->
31
user1873073

Si vous voulez définir le mode de compatibilité dans le navigateur lui-même et pas dans le HTML, procédez comme suit:

  1. Ouvrez IE 10
  2. Appuyez sur la touche Alt pour afficher la barre de menu IE.
  3. Cliquez sur le menu Outils
  4. Cliquez sur le paramètre d'affichage de compatibilité.
  5. Clics cocher la case; afficher tous les sites Web en mode de compatibilité ou
  6. Ajoutez uniquement les sites Web souhaités à la vue de compatibilité

Comme indiqué dans l'image ci-dessous. Le site Web devrait alors s'ouvrir avec la vue IE 10 Compatibility.

enter image description here

15
Patrick D'Souza

Tu peux essayer :

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

Tout comme vous avez essayé avant, mais prudence:

Il semble que l'étiquette X-UA-Compatible doit être la première étiquette de la section <head>

Si cette conclusion est correcte, alors je pense qu’elle n’est pas documentée dans les blogs/msdn de Microsoft (et si elle est documentée, elle ne sort pas suffisamment de la documentation). S'assurer qu'il s'agissait de la première balise méta dans l'IE9 forcé à passer en mode IE8 avec succès

11
Pouki

J'ai eu exactement le même problème, ce - "meta http-equiv =" Compatible X-UA "content =" IE = 7 ">" fonctionne très bien dans IE8 et IE9, mais pas dans IE10. Il existe un bogue dans les fichiers de définition de navigateur du serveur fournis avec .NET 2.0 et .NET 4, à savoir qu’ils contiennent des définitions pour une certaine gamme de versions de navigateur. Mais les versions de certains navigateurs (comme IE 10) ne sont plus dans ces limites. Par conséquent, ASP.NET les considère comme des navigateurs inconnus et adopte par défaut une définition de niveau inférieur, ce qui présente certains inconvénients, comme le fait qu'il ne prend pas en charge des fonctionnalités telles que JavaScript.

Merci à Scott Hanselman pour ce correctif.

Voici le lien -

http://www.hanselman.com/blog/BugAndFixASPNETFailsToDetectIE10CausingDoPostBackIsUndefinedJavaScriptErrorOrMaintainFF5ScrollbarPosition.aspx

Ce correctif MS KP ajoute simplement les fichiers manquants à asp.net sur votre serveur. Je l'ai installé et redémarré mon serveur et cela fonctionne maintenant parfaitement. J'aurais pensé que MS aurait donné à ce correctif une distribution plus large.

Meule

6
Rick

J'ai eu le même problème. Le problème est un bogue dans MSIE 10, il est donc inutile d'indiquer aux personnes à résoudre leurs problèmes. Ni dit aux visiteurs de votre site pour ajouter votre site à la compatibilité vue, bleh. Dans mon cas, le problème était que le code suivant ne affichait aucun texte:

document.write ('<P>'); 
document.write ('Blah, blah, blah... ');
document.write ('</P>');

Après beaucoup d'essais et d'erreurs, j'ai déterminé que la suppression des balises <P> et </ P> faisait en sorte que le texte apparaisse correctement sur la page (d'où le problème IS avec le mode document plutôt que le mode navigateur mon cas). Supprimer les balises <P> lorsque userAgent est MSIE n'est pas un "correctif" que je souhaite mettre dans mes pages.

La solution, comme d'autres l'ont dit, est la suivante:

<!DOCTYPE HTML whatever doctype you're using....> 
<HTML>
 <HEAD>
  <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8">
  <TITLE>Blah...

Oui, la balise meta doit être la balise FIRST après HEAD.

5
Fredashay

Bien que vous deviez réparer votre site pour qu'il fonctionne sans affichage de compatibilité, essayez de placer la balise méta X-UA-Compatible au tout début de l'ouverture du <head>, avant le titre.

4
Jonathan Myers

L'élément X-UA-Compatiblemeta modifie uniquement le mode Document, pas le mode Navigateur. Le mode Navigateur étant choisi avant que la page ne soit demandée, il n’ya aucun moyen d’inclure un balisage, JavaScript ou autre pour changer cela. Tandis que le mode Document revient aux modes standards et bizarres du moteur de rendu, le mode Navigateur modifie simplement des éléments tels que l'identification du navigateur, telle que la chaîne de l'agent d'utilisateur.

Si vous souhaitez modifier le mode Navigateur pour tous les utilisateurs (plutôt que de le modifier manuellement dans les outils ou via les paramètres), le seul moyen (AFAICT) est d’ajouter votre site à la liste de visualisation Copat de Microsoft. Ceci est maintenu par Microsoft pour appliquer des remplacements aux sites défectueux. Il y a des informations sur la façon de supprimer votre site de la liste d'affichage de la compatibilité , mais je ne peux en trouver aucune pour demander votre ajout.

Cependant, la méthode préférée consiste à essayer de résoudre tout problème sur le site, car lorsque vous n'exécutez pas avec les derniers modes document et navigateur, vous ne pouvez pas tirer parti des améliorations apportées au navigateur, telles que l'amélioration des performances. 

1
David Storey

Vois ici:

https://softwareengineering.stackexchange.com/questions/194687/how-the-compatibility-view-in-ie-works-side-the-scenes

Utilisation

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE10">

Je viens d'essayer et il a montré le mode de compatibilité IE10 dans la fenêtre de débogage.

1
Nick.McDermaid

Vous devriez essayer le IE 5 mod de compatibilité de quirks (est la vue de compatibilité par défaut d'IE10)

<meta http-equiv="X-UA-Compatible" content="IE=5">

important: situé en haut de votre structure iframe (si vous utilisez la structure iframe)

plus d'infos 1 , 2

0
Julien Stuby