2010-05-05 8 views
5

estoy trabajando dentro de los parámetros de un desarrollador no-accesible, quien ha creado un sistema de generación de html para nuestros productos .. Cada vez que se genera una nueva página se coloca:HTML Doctype Configuración/Modo Peculiaridades IE

<!-- updated page at 05/MAY/2010 02:58.58 --> 
<!-- You must use the template manager to modify the formatting of this page. --> 

resultando en mi código que parece:

<!-- updated page at 05/MAY/2010 02:55.30 --> 
<!-- You must use the template manager to modify the formatting of this page. --> 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 
<html lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> 

no creo de IE lectura de este tipo de documento en absoluto, como cuando se mira en la pantalla de desarrollador, que hace que en el modo no estándar ... ¿hay alguna otra manera de ¿obligar a IE a salir de este horrible modo de Quirks? He estado intentando contactar al desarrollador, pero ha estado bastante deshabilitado.

Gracias de antemano por cualquier ayuda que pueda tener para ofrecer.

// EDIT:

Es esto posible hacerlo a través de JavaScript, para golpear la página principal con un comando de carga?

+0

Esto es un poco tarde, pero el problema son los comentarios en frente de doctype. Esto hace que IE cambie al modo peculiar. –

Respuesta

2

No hay nada que puedas hacer. Su sistema de gestión de contenido está fallando. O necesita encontrar al desarrollador y pedirle que corrija este sistema defectuoso o que obtenga un nuevo sistema de administración de contenido.

+0

bummer .. continuaré mi juerga por correo electrónico. Gracias – Petrogad

0

¿Cómo se generan las páginas?

Si está utilizando PHP, puede usar el almacenamiento en búfer de salida para evitar que se emitan los comentarios de la plantilla.

+0

Tristemente tengo 0 control sobre cómo se están generando:/Llegué a compilar, y las páginas html están compiladas, y estoy atrapado con todo lo que hay en la página, puedo reconstruir pero ese comentario se repite constantemente parte superior. – Petrogad

0

Si está atascado con ese código, ¿por qué no agregar un último paso al proceso de compilación, uno que borre estos comentarios?

2

Puede forzar IE para utilizar el modo de estándares mediante la adición de

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

al comienzo de su sección la cabeza para el HTML, o puede añadir la cabecera HTTP equivalente a través de la configuración del servidor. Sin embargo, esto solo funcionará en IE8 o superior.

0

Sí, es posible, es algo muy malo de hacer.

UPD. Lo siento, no, no funciona.

Pero en algunos casos, simplemente no tenemos control sobre lo que se sirve al usuario. Situación típica: una pasarela de pagos que su empresa está obligada a utilizar por algún motivo legal. Le permiten personalizar la página y poner sus propios contenidos en ella, pero no permiten cambiar o cómo se está configurando el tipo de documento (¡y no se está configurando en absoluto!).

Así, inspirado en este enlace: http://www.webmasterworld.com/forum91/4856.htm y embellecido solución probablemente sería algo como esto (puesto que antes de que su cuerpo de la etiqueta de cierre </body>):

<!--[if IE]> 
<script> 
!function() { 
var doctype = "<!DOCTYPE html>", 
    headHTML = document.head.outerHTML, 
    bodyHTML = document.body.outerHTML; 

window.doctypeSet = false; 

if (window.doctypeSet) return; 
setTimeout(function(){ 
    document.write(
    doctype + 
    "<html>" + 
    headHTML + 
    bodyHTML + 
    "</html>" 
); 
    window.doctypeSet = true; 
}, 0); 

}(); 
</script> 
<![endif]--> 

Sin embargo, también puede ser que desee cambiar <!--[if IE]> a algo como <!--[if lte IE 9]>, para que IE10 y posterior no realice esta danza sucia. No estoy seguro si IE10 también cambiará a quirksmode si doctype no está presente, si no está cambiando, entonces no hay necesidad de tener este código invocado allí.

Cuestiones relacionadas