En teknikk som fungerer er å se på den beregnede stil av elementet. Dette støttes i Opera og Firefox (og jeg recon i safari, men har ikke testet). IE (7 minst), gir en metode for å få en stil, men det synes å være det som var i stilarket, ikke den beregnede stil. Flere detaljer om quirksmode: Få Styles
Her er en enkel funksjon for å hente den skrift som brukes i et element:
/**
* Get the font used for a given element
* @argument {HTMLElement} the element to check font for
* @returns {string} The name of the used font or null if font could not be detected
*/
function getFontForElement(ele) {
if (ele.currentStyle) { // sort of, but not really, works in IE
return ele.currentStyle["fontFamily"];
} else if (document.defaultView) { // works in Opera and FF
return document.defaultView.getComputedStyle(ele,null).getPropertyValue("font-family");
} else {
return null;
}
}
Hvis CSS-regel for dette var:
#fonttester {
font-family: sans-serif, arial, helvetica;
}
Da bør den komme tilbake helvetica hvis det er installert, hvis ikke, arial, og til slutt, navnet på systemets standard sans-serif font. Merk at bestilling av skrifter i CSS erklæring er betydelig.
En interessant hack du kan også prøve å skape massevis av skjulte elementer med mange forskjellige skrifttyper for å prøve å avdekke hvilke skrifter som er installert på en maskin. Jeg er sikker på at noen kunne gjøre en kjekk liten skrift statistikk samlingsside med denne teknikken.