the some predeterminado page not modo may internet features emulate documento change cambiar available attached apis and internet-explorer browser internet-explorer-9 quirks-mode

internet explorer - some - Por qué HTML1113: el modo de documento se reinicia desde los estándares IE9 a los extraños



the attached page targets document mode 7 (2)

Abrí una página web en IE9 y, de repente, el modo de documento cambia al modo Quirks. La página en sí misma es muy simple: sin doctype, sin metaetiqueta, solo una parte de JavaScript (JavaScript de prueba) dentro del xslt que forma la página.
Ver http://home.arcor.de/martin.honnen/xslt/test2012041901.xml usando el xsl mencionado en la misma ubicación. Para mayor comodidad, copié el contenido a continuación.

El contenido de la página es

<?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="test2012041901.xsl"?> <test/>

Y xsl contiene

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:ms="urn:schemas-microsoft-com:xslt" xmlns:my="http://example.com/my" exclude-result-prefixes="ms my"> <xsl:output method="html" version="5.0"/> <ms:script language="JScript" implements-prefix="my"> <![CDATA[ function tokenize (input) { var doc = new ActiveXObject(''Msxml2.DOMDocument.6.0''); var fragment = doc.createDocumentFragment(); var tokens = input.split('';''); for (var i = 0, l = tokens.length; i < l; i++) { var item = doc.createElement(''item''); item.text = tokens[i]; fragment.appendChild(item); } return fragment.selectNodes(''item''); } ]]> </ms:script> <xsl:template match="/"> <html> <head> <title>Example</title> </head> <body> <h1>Example</h1> <ul> <xsl:apply-templates select="my:tokenize(''Kibology;for;all'')"/> </ul> </body> </html> </xsl:template> <xsl:template match="item"> <li> <xsl:value-of select="."/> </li> </xsl:template> </xsl:stylesheet>

¿Por qué pasó esto? ¿Es una configuración de opciones de Internet que desencadena esto? ¿Cómo puedo evitar que el modo peculiar se elija automáticamente en IE9?
Y: antes con la misma página no se produjo este modo de peculiaridades automáticas: debo haber hecho algo, como un cambio de configuración, tal vez incluso una vez más y volver al valor original otra vez, lo que condujo a este cambio de comportamiento. ¿Pero que?

Las herramientas de desarrollador F12 muestran lo siguiente en la consola:

XML5001: Applying Integrated XSLT Handling. HTML1114: Codepage unicode from (UNICODE byte order mark) overrides conflicting codepage utf-8 from (10) test2012041901.xml HTML1113: Document mode restart from IE9 Standards to Quirks test2012041901.xml HTML1114: Codepage unicode from (UNICODE byte order mark) overrides conflicting codepage utf-8 from (10) test2012041901.xml

No estoy seguro de qué se trata el mensaje de orden de bytes, quizás relacionado con el problema.

Oh y las herramientas de desarrollo también muestran esto en la parte del script:

㼼浸敶獲潩㵮ㄢ〮•湥潣楤杮∽呕ⵆ∸㸿㰊砿汭猭祴敬桳敥⁴祴数∽整瑸砯汳•牨晥∽整瑳〲㈱㐰㤱㄰砮汳㼢ਾ琼獥⽴ਾ

Tenga en cuenta que todo esto solo ocurre con las pestañas recién abiertas, ya no existentes en el modo peculiar.



Como nadie salta a la altura, responderé la pregunta yo mismo.
Como paulsm4 indicó en el comentario a la pregunta, es el tipo de documento faltante que desencadena el modo peculiar. Consulte http://hsivonen.iki.fi/doctype/ para obtener una descripción general excelente de los tipos de documentos, tipos de navegadores y modos de navegador resultantes.

Con respecto a la divertida secuencia de caracteres asiáticos, investigué un poco más sobre esto y descubrí de dónde viene. Abrí un nuevo archivo en UltraEdit, lo convertí de utf-8 a Unicode primero y luego copié el texto. El resultado en la vista hexadecimal lo revela todo:

Como vemos, es solo el archivo xml cargado, más una marca de orden de bytes anterior FF FE, que de acuerdo con wikipedia es una utf-16 Little Endian:

Ahora para los mensajes en la consola: el orden de los eventos en el navegador es aparentemente el siguiente:

  1. obtener archivo XML
  2. obtener el archivo XSL referido y aplicar la transformación (XML5001); resultado del proceso
  3. BOM = FF FE que es utf-16 reemplaza a utf-8 mencionado en el encabezado xml (HTML1114)
  4. IE9 nota que falta el tipo de documento, cambia al modo peculiar (HTML1113) y vuelve a cargar el archivo de resultados
  5. De nuevo, la codificación BOM anula la codificación del encabezado xml (HTML1114)
  6. Archivo mostrado