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;
}
Verwendung
var iconFontHonored = checkFont('icomoon');
Klasse! Nützlich, danke :)
Das ist 100% falsch. Der Wert von
window.getComputedStyle(objDiv, null).getPropertyValue('font-family')wird immer das sein, was Sie deklariert haben.Hier: http://codepen.io/anon/pen/HIKDq
Chrome meldet alle fehlen, Firefox meldet alle verfügbar.
Vielleicht sehen, was der Autor zu sagen hat? http://juicystudio.com/article/icon-fonts-user-defined-stylesheets.php
Ich habe dort einen Kommentar hinterlassen. Falls jemand nach einer Lösung sucht, scheint dies eine funktionierende Option zu sein: http://www.lalit.org/lab/javascript-css-font-detect/
Ja, dieser Code ist fehlerhaft.
Wenn das Thema die Validierung verfügbarer Schriftarten ist, verstehe ich nicht, wie das helfen wird. Was ich brauche, und was die meisten Designer brauchen, ist ein Skript, das mir sagt, welche der Schriftarten im Schriftstapel auf jedem Browser und Betriebssystem angezeigt wird, wenn die Seite erscheint.
Versuchen Sie zu verwenden: https://github.com/Wildhoney/DetectFont
Leider funktioniert das gar nicht – in Firefox wird immer true zurückgegeben und in Chrome immer false.