function checkFont(strFamily) {
var objDiv = document.createElement('div');
objDiv.style.fontFamily = strFamily;
objDiv.appendChild(document.createTextNode('FONT TEST'));
if (window.getComputedStyle) {
return window.getComputedStyle(objDiv, null).getPropertyValue('font-family') === strFamily;
}
return objDiv.currentStyle.fontFamily === strFamily;
}
用法
var iconFontHonored = checkFont('icomoon');
不错!有用,谢谢 :)
这是完全错误的。
window.getComputedStyle(objDiv, null).getPropertyValue('font-family')
的值将始终是你声明的值。这里: http://codepen.io/anon/pen/HIKDq
Chrome 报告所有字体都缺失,Firefox 报告所有字体都可用。
也许看看作者怎么说? http://juicystudio.com/article/icon-fonts-user-defined-stylesheets.php
我在那里留下了一条评论。如果有人正在寻找解决方案,这似乎是一个可行的方案: http://www.lalit.org/lab/javascript-css-font-detect/
是的,这段代码坏了。
如果主题是验证可用字体,我不明白这将如何提供帮助。我需要什么,我认为大多数设计师也需要什么,是一个脚本,它可以告诉我字体堆栈中的哪些字体在每个浏览器和操作系统上显示页面时出现。
尝试使用: https://github.com/Wildhoney/DetectFont
不幸的是,这根本不起作用——在 Firefox 中它将始终返回 true,在 Chrome 中它将始终返回 false。