假设我的页面中有以下CSS规则:
body {
font-family: Calibri, Trebuchet MS, Helvetica, sans-serif;
}
如何检测用户浏览器中使用了哪一种已定义的字体?
编辑让人想知道为什么我要这样做:我检测的字体包含其他字体不可用的字形,当用户没有字体时我想显示一个链接,要求用户下载该字体,以便他们可以使用我的Web应用程序与正确的字体.
目前我正在显示所有用户的下载字体链接,我想只显示没有安装正确字体的人.
解决方法:
我已经看到它以一种不确定但非常可靠的方式完成.基本上,元素设置为使用特定字体,并且字符串设置为该元素.如果元素的字体集不存在,则采用父元素的字体.因此,他们所做的是测量渲染字符串的宽度.如果它与期望的字体相对于派生字体的预期匹配,则它存在.这对等宽字体不起作用.
这是它的来源:
Javascript/CSS Font Detector (ajaxian.com; 12 Mar 2007)