document.compatMode
BackCompat: Der Standardkompatibilitätsmodus ist deaktiviert. Browserbreite: document.body.clientWidth;
CSS1Compat: Standardkompatibilitätsmodus ist aktiviert. Browserbreite: document.documentElement.clientWidth.
var d = document,
dd = d. documentElement,
db = d.compatMode == 'CSS1Compat',
dx = dc ? dd:
cWidth = dx.clientWidth ;
cHeight = dx.clientHeight;
sHeight = dx.scrollHeight;
sLeft = dx.scrollLeft; 🎜>
sTop = dx.scrollTop;
Im Standardmodus:
Echte Breite des Elements = Rand-linker Rand-linke-Breite-Auffüllung-linke Breite-Auffüllung - right border-right-width margin-right;
Im Quirks-Modus:
width ist die tatsächliche Breite des Elements, Inhaltsbreite = Breite - (margin-left margin-right padding- left padding-right border-left-width border-right-width)
Wie kann man in js feststellen, wie der aktuelle Browser analysiert?
Das Dokumentobjekt hat ein Attribut compatMode, das zwei Werte hat:
BackCompat entspricht dem Quirks-Modus
CSS1Compat entspricht dem Strict-Modus
Browser-Kompatibilitätstabelle
http://www.quirksmode.org/compatibility.html
Historischer Grund:
Als die frühen Browser Netscape 4 und Explorer 4 CSS analysierten, entsprachen sie nicht den W3C-Standards Da die W3C-Standards jedoch immer wichtiger werden, beginnen viele Browser, CSS gemäß den W3C-Standards zu analysieren und den W3C-Standard beim Parsen von CSS zu imitieren >Glühwürmchen