Der Internet Explorer hat bei verschiedenen CSS-Eigenschaften nur begrenzte Möglichkeiten. So unterstützt er für display weder table-row noch table-cell. Um den Usern, deren Browser bestimmte CSS-Eigenschaften nicht oder nur unvollständig unterstützt, Alternativen anbieten zu können, soll mit Hilfe von Javascript auf die CSS-Fähigkeiten hin getestet werden.
function testProperty(id, prop, value) {
if(typeof document.getElementById(id).style[prop] != 'undefined') {
try {
document.getElementById(id).style[prop] = value;
return true;
}
catch(e) {
return false;
}
}
else return false;
}
Die Funktion testProperty erwartet die Parameter ID des HTML-Elements, CSS-Eigenschaft und zuzuweisender Wert. Wenn die gewünschte CSS-Eigenschaft nicht existiert oder der übergebene Wert ungültig ist, gibt die Funktion false, ansonsten true zurück.
Das Script macht sich die Eigenheit des Internet Explorers ab Version 5.01 zu Nutze, dass er mit einer Fehlermeldung reagiert, wenn mittels Javascript versucht wird, einer ihm bekannten CSS-Eigenschaft einen ihm unbekannten Wert zuzuweisen. Aus diesem Grund funktioniert das Script in anderen Browsern nur dann, wenn die CSS-Eigenschaft unbekannt ist, unzulässige Wertzuweisungen hingegen werden hier nicht mit einer Fehlermeldung quittiert.