Standards mode en Quirks mode detecteren
In het item Over Standards mode en Quirks mode wordt iets gezegd
over de verschillende manieren waarop een browser kan omgaan met de code van een webpagina. Met de komst van HTML5 is het
niet meer nodig om dat expliciet in te stellen. De tag <!doctype html> stelt Standards mode in. De browser
schakelt zelf over naar Quirks mode als dat nodig is.
Het detecteren of de browser Standards mode of Quirks mode gebruikt, is niet (meer) nodig. Het kàn echter wel!
Voor de detectie wordt een eigenschap van de HTML-DOM gebruikt: document.compatMode. Deze eigenschap is Readonly,
Je kunt hem dus niet zelf veranderen.
Mogelijke waarden zijn:
• CSS1Compat. De browser draait in Standards mode.
• BackCompat. De browser draait in Quirks mode.
Met behulp van JavaScript kun je document.compatMode opvragen en interpreteren. Voor deze pagina geldt:
De browser draait in ??? mode.
De code van een eenvoudig script voor een dergelijke interpretatie is:
HTML
<p>De browser draait in <span id="mode">???</span> mode.</p>
JavaScript (zet dit in je document ná de HTML)
<script>
let xx = document.compatMode, yy;
if (xx == "CSS1Compat") yy = "Standards";
else if (xx == "BackCompat") yy = "Quirks";
else yy = "onbekende";
document.getElementById('mode').innerHTML = yy;
</script>
Opmerking:
Dit is alleen van belang tijdens ontwikkeling van nieuwe code of onderhoud aan bestaande websites.
In plaats van het (geïnterpreteerde) resultaat naar het scherm te sturen, kun je dit ook in het console laten verschijnen
met console.log(xx) of console.log(yy), of simpelweg console.log(document.compatMode).
