เทคนิคที่ใช้งานได้คือการดูรูปแบบการคำนวณขององค์ประกอบ สิ่งนี้ได้รับการสนับสนุนใน Opera และ Firefox (และฉันกลับมาใช้งานซาฟารีใหม่ แต่ยังไม่ได้ทดสอบ) IE (อย่างน้อย 7) ให้วิธีการรับสไตล์ แต่ดูเหมือนว่าจะเป็นอะไรก็ตามที่อยู่ในสไตล์ชีทไม่ใช่สไตล์ที่คำนวณ รายละเอียดเพิ่มเติมเกี่ยวกับ quirksmode: รับสไตล์
นี่เป็นฟังก์ชั่นง่ายๆในการหยิบแบบอักษรที่ใช้ในองค์ประกอบ:
/**
* 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;
}
}
หากกฎ CSS สำหรับสิ่งนี้คือ:
#fonttester {
font-family: sans-serif, arial, helvetica;
}
จากนั้นควรส่งคืน helvetica หากมีการติดตั้งถ้าไม่ใช่ arial และสุดท้ายคือชื่อของฟอนต์ sans-serif ดีฟอลต์ของระบบ โปรดทราบว่าการเรียงลำดับแบบอักษรในการประกาศ CSS ของคุณมีความสำคัญ
การแฮ็คที่น่าสนใจที่คุณอาจลองทำก็คือการสร้างองค์ประกอบที่ซ่อนอยู่มากมายพร้อมด้วยฟอนต์ที่แตกต่างกันจำนวนมากเพื่อลองตรวจสอบว่ามีการติดตั้งฟอนต์ใดบ้างบนเครื่อง ฉันแน่ใจว่าบางคนสามารถสร้างสถิติตัวอักษรที่ดีได้ด้วยการใช้เทคนิคนี้