valid utiliza qué que plantilla para expected define declaración consider adding html doctype

que - para qué se utiliza la declaración<! doctype html



¿La declaración DOCTYPE tiene que ser la primera etiqueta en un documento HTML? (8)

¡Sin embargo, podría ser la fuente de tu problema! Echa un vistazo al "modo peculiar", ya que eso depende de la configuración del tipo de documento. Estudio adicional: http://www.quirksmode.org/ explanation: puede alternar su navegador en el modo compilador de estándares estrictos (principalmente IE) y en el modo suelto. Esto afectará en gran medida la representación. La configuración de TAM podría haberlo activado o desactivado.

Esta pregunta ya tiene una respuesta aquí:

Nuestro administrador de seguridad inserta dinámicamente un poco de javascript en la parte superior de cada página html cuando el cliente solicita una página. Se inserta encima de la declaración DOCTYPE. Creo que esta podría ser la causa de los problemas de diseño que estoy teniendo.

¿Ideas a alguien?


Leí las especificaciones w3 que solo dicen que hay 3 partes en un documento. La secuencia se asume y no hay ninguna declaración explícita que prohíba, por ejemplo, un pequeño js snippit en el frente.

Entiendo que es posible configurar TAM para agregar el js al final de la instrucción, pero me sorprende por qué lo ponen arriba si puede causar problemas tan obvios.




La recomendación para HTML lo expresa como una aplicación de SGML, que requiere que la declaración DOCTYPE aparezca antes del elemento HTML (ignorando los comentarios HTML). Incluso sin el DOCTYPE , agregar un elemento SCRIPT fuera del elemento HTML (antes o después) no es HTML válido. Por supuesto, la validez de HTML puede no ser un requisito para usted, siempre y cuando funcione en la mayoría de los navegadores, y luego el cambio de modo peculiar que obtendrá: sin el DOCTYPE , muchos navegadores cambiarán al modo peculiar, posiblemente cambiando el diseño .

Supongo que el fragmento de script TAM está siendo agregado por un proxy u otro que no puede analizar correctamente la estructura HTML de la página e insertar el SCRIPT en la posición correcta en el HEAD o BODY del documento. En este caso, agregar al final del documento, aunque no sea HTML válido, funcionará en la mayoría de los navegadores web.


No es una etiqueta, pero sí. Principalmente porque esa es la única forma de hacer que Internet Explorer (versión anterior a la versión 8, creo) se convierta en el modo estándar.


W3c (en w3.org), en una página llamada html5 / syntax.html , dice "un DOCTYPE es un preámbulo requerido" que interpreto que significa que es obligatorio y que debe ser lo primero.

También dice que debe constar de los siguientes componentes en este orden:

  1. Una cadena que es una coincidencia ASCII insensible a mayúsculas y minúsculas para la cadena <!DOCTYPE .
  2. Uno o más caracteres espaciales.
  3. Una cadena que es una coincidencia ASCII insensible a mayúsculas y minúsculas para la cadena html .
  4. Opcionalmente, una cadena heredada DOCTYPE o una cadena DOCTYPE permitida obsoleta (definida a continuación).
  5. Cero o más caracteres espaciales.
  6. A > (U + 003E) personaje.

Sí, el doctype debe ser lo primero en el documento (a excepción de los comentarios). Debe evitar insertar scripts antes del doctype; analizadores compatibles no están obligados a aceptar eso. (Deben aceptar scripts añadidos después del resto del documento, si eso es una alternativa).

A partir de la especificación HTML 5:

8.1 Escritura de documentos HTML

Esta sección solo se aplica a documentos, herramientas de autoría y generadores de marcas. En particular, no se aplica a los inspectores de conformidad; > los verificadores de conformidad deben usar los requisitos dados en la siguiente sección> ("análisis de documentos HTML").

Los documentos deben constar de las siguientes partes, en el orden dado:

  1. Opcionalmente, un solo carácter "BOM" (U + FEFF).
  2. Cualquier cantidad de comentarios y caracteres espaciales.
  3. UN DOCTYPE.
  4. Cualquier cantidad de comentarios y caracteres espaciales.
  5. El elemento raíz, en forma de un elemento html.
  6. Cualquier cantidad de comentarios y caracteres espaciales.
  7. Los diversos tipos de contenido mencionados anteriormente se describen en las siguientes secciones.

De la especificación HTML 4.01:

7 La estructura global de un documento HTML

Un documento HTML 4 se compone de tres partes:

  1. una línea que contiene información de la versión HTML,
  2. una sección de encabezado declarativa (delimitada por el elemento HEAD),
  3. un cuerpo, que contiene el contenido real del documento. El cuerpo puede ser implementado por el elemento BODY o el elemento FRAMESET.

[...]

El espacio en blanco (espacios, nuevas líneas, pestañas y comentarios) puede aparecer antes o después de cada sección.

[...]

Un documento HTML válido declara qué versión de HTML se usa en el documento. La declaración de tipo de documento nombra la definición de tipo de documento (DTD) en uso para el documento (consulte [ISO8879]).