Wie kann ich feststellen, ob sich ein Browser im "Quirks" -Modus befindet?
Nehmen wir an, Sie haben eine Seite mit einem relativ strengen doctype und HTML-markup, der ist ziemlich in der Nähe-konform, aber vielleicht findet sich in ein paar alberne Weise, vielleicht weil der Benutzer die Inhalte, die außerhalb Ihrer Kontrolle... sagen Sie arbeiten an einem content-management-system oder ein theme für ein content-management-system, in dem Sie die Kontrolle über einige der grundlegenden Struktur und brauchen etwas javascript, aber du bist nicht verantwortlich für alles, was sonst noch geht, geht in die Seiten.
Wie können Sie sagen (oder: was wird bestimmen), wenn der browser entscheidet, zu gehen in den "quirks" - Modus, anstatt zu verwenden es ist mehr standards-konformen Motor?
Ich bin auf der Suche nach Antworten für jede der gängigen Browser, da IE, Chrome, Safari, Firefox und natürlich alle handhaben das anders. Ein einziger Fehler reicht, um ihn zu zwingen oder haben Sie Spielraum?
InformationsquelleAutor der Frage Joel Coehoorn | 2009-03-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
In Firefox und Opera können Sie bestimmen, ob Ihr browser im "quirks-Modus", indem Sie die überprüfung-Seite info.
Mit
document.compatMode
, wird Ihnen sagen, den Modus, den Sie mit den meisten Browsern.In Chrome, Safari und IE, führen Sie dieses javascript in die Adressleiste:
(beachten Sie, dass Sie benötigen, um re-geben Sie den
javascript:
Teil nach dem einfügen in deine Adressleiste, aufgrund der jüngsten änderungen der Sicherheitseinstellungen)InformationsquelleAutor der Antwort Chris Ballance
Als Sie Abfragen können, die render-Modus in JavaScript können Sie eine Bookmarklet, die Ihnen sagen, die render-Modus einer Seite verwendet wird.
Fand ich dieses render-Modus bookmarklet, die gut funktioniert für mich:
InformationsquelleAutor der Antwort Dave Webb
Die vollständige Antwort auf Ihre tatsächliche, konkrete Frage 'Ist ein einziger Fehler reicht, um ihn zu zwingen oder haben Sie Spielraum?' ist, dass es völlig abhängig von der Fehler. Zum Beispiel,
zwingen quirks-Modus im IE 6 und 7 trotz der nicht wirklich ebing ein Fehler (Sie nur werfen eine total wackelig, wenn die erste Zeile der Datei ist nicht die Erklärung).
Eine kurze Liste der Arten/Macken finden hier
Versuchen, kleben Sie die folgende Zeile in Ihre HTML-für die Prüfung (sehr schlechte javascript-Verhalten bin ich die Weitergabe hier - sorry...sicherzustellen, dass dies nie geht live 🙂
InformationsquelleAutor der Antwort Steerpike
Laut http://www.quirksmode.org/css/quirksmode.html :
"Das problem war, dass einige Seiten geschrieben im quirks-Modus habe doctypes. Daher ist jeder browser hat seine eigene Liste mit doctypes, die trigger quirks-Modus. Sehen Sie diese browser-Vergleichs-chart für eine übersicht über diese Listen : http://hsivonen.iki.fi/doctype/"
Hoffe, das hilft
InformationsquelleAutor der Antwort Sébastien Nussbaumer
Wenn Sie sagen, DH, es sollten streng sein (per doctype -) es wird sich nicht ändern, seine Meinung auf halbem Weg durch die Seite.
InformationsquelleAutor der Antwort i_am_jorf
Wenn ich verstehe, quirks-mode, richtig, eine Seite, die nicht validieren, gegen seine erklärte doctype ist nicht genug, um die trigger-quirks-Modus. Es will einfach nicht richtig angezeigt.
Die beste Ressource, die ich gefunden habe, für die Bestimmung, wie die verschiedenen Browser jeweils behandeln doctype ist hier.
InformationsquelleAutor der Antwort Bill the Lizard
Für Firefox mit Web-Developer-Toolbar add-on, Sie können sich das trio auf die Symbole rechts in der Leiste. Die linke erzählt Sie, in welchem Modus Sie sich befinden.
InformationsquelleAutor der Antwort Arieleo
Im IE Sie werden sehen, dass es in den Entwicklertools (Taste F12), Sie sagt, Sie in das Menü: Dokument-Modus:...
Und Sie können auch zwingen, einen anderen Modus gibt.
InformationsquelleAutor der Antwort Ronen Festinger
html5-Seite, schreiben Sie "
<!DOCTYPE html>
" start mit Seite ändern kannDokument.compatMode='CSS1Compat'
InformationsquelleAutor der Antwort Miro