Frage

Ich arbeite innerhalb des Parameters einen nicht erreichbar Entwickler, die ein HTML-Erzeugungssystem für unsere Produkte geschaffen hat .. Jedes Mal, wenn eine neue Seite erzeugt wird, legt er:

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

was in meinem Code aussehen wie:

<!-- 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">

Ich glaube nicht, IE lasen Sie dieses Doctype überhaupt, als wenn an dem Entwickler-Bildschirm, es in Quirks-Modus macht ... Gibt es eine andere Art und Weise IE zu zwingen, aus diesem schrecklichen Quirks-Modus? Ich habe versucht, den Entwickler zu erreichen, aber er war eher un-verfügbar ..

Vielen Dank im Voraus für jede Hilfe, die Sie zu bieten haben könnten.

// EDIT:

Ist das möglich über Javascript zu tun, die übergeordnete Seite mit einem auf Ladebefehl zu schlagen?

War es hilfreich?

Lösung

Es gibt nichts, was man tun kann. Ihr Content Management System versagt. Sie müssen entweder den Entwickler zu finden und haben sie dieses fehlerhafte System reparieren oder ein neues Content-Management-System erhalten.

Andere Tipps

Sie können IE zwingen Standards-Modus zu verwenden, durch Hinzufügen

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

an den Anfang Ihres Kopfteil für die HTML, oder Sie können die entsprechende HTTP-Header über Serverkonfiguration hinzufügen. Dies funktioniert nur auf IE8 oder höher, jedoch.

Wie werden die Seiten erzeugt werden?

Wenn Sie PHP verwenden, können Sie die Ausgabe-Pufferung verwenden, um die Vorlage Kommentare zu halten von Ausgabe zu sein.

Wenn Sie mit diesem Code stecken, warum dann nicht einen letzten Schritt zu dem Build-Prozess hinzufügen, eine, die diese Kommentare Streifen?

Ja, es möglich ist, , dann ist es eine sehr schlechte Sache aber zu tun.

UPD. Es tut uns Leid, nee es nicht funktioniert.

Aber in einigen Fällen, wir haben einfach nicht die Kontrolle über was den Benutzer bedient wird. Typische Situation: ein Zahlungsgateway, das Unternehmen verpflichtet ist, aus irgendeinem Rechtsgrund zu verwenden. Sie ermöglichen es, die Seite zu Stil und die eigenen Inhalte in sie zu setzen, aber sie erlauben nicht zu ändern, oder wie der Doctype ist gesetzt (und es ist nicht Satz überhaupt zu sein!).

Also, von diesem Link inspiriert: http://www.webmasterworld.com/forum91/4856 HTM und verschönert Lösung wäre wahrscheinlich so etwas wie dieser (Put es vor Ihrem Schließkörper Tag </body>) sein:

<!--[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]-->

Allerdings könnte man auch wie <!--[if IE]> zu ändern <!--[if lte IE 9]> zu etwas will, so dass IE10 und später nicht diesen schmutzigen Tanz durchführt. Ich bin nicht sicher, ob IE10 schaltet auch Quirksmode wenn Doctype nicht vorhanden ist, wenn es nicht wechseln, dann gibt es keine Notwendigkeit, dies zu tun Code haben aufgerufen gibt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top