在JavaScript中获取计算字体家族

这是这个问题的后续。

我正在研究CKEditor的一个组件,这是一个字体下拉菜单的调整版本,它使用computedStyle和consorts始终显示当前选定的字体系列/大小值,无论它们在何处定义。

正如您在其他问题中所看到的,现在确定字体大小是跨浏览器的。 现在我无法使用fontFamily属性。 我的通用“计算风格”函数只返回定义的完整字体string,例如

 Times New Roman, Georgia, Serif 

我需要的是,为了匹配字体系列下拉列表项的设置,是我正在检查的DOM元素的实际字体固定字体名称

这可以以某种方式完成,至less对于最常见的Web字体?

我不认为有任何方法可以直接做,但Lalit Patel提出了一种巧妙的技术,创build一个元素,并在元素的宽度上猜测字体。

请参阅http://www.lalit.org/lab/javascript-css-font-detect

UA从列表中find第一个字体。 安装在操作系统上的字体并不是DOM的一部分,所以你可以做的最好的就是猜测。