Maison >interface Web >tutoriel CSS >JavaScript peut-il détecter toutes les polices que le navigateur d'un utilisateur peut afficher ?
Liste de toutes les polices que le navigateur d'un utilisateur peut afficher
JavaScript peut-il récupérer les polices affichables du navigateur ?
Oui, il est possible d'obtenir une liste de toutes les polices supportées par le navigateur de l'utilisateur à l'aide de JavaScript. Cela permet la création d'une liste déroulante contenant les polices disponibles pour la sélection par l'utilisateur.
Implémentation de la détection des polices
Reportez-vous à http://www.lalit.org/lab/javascript -css-font-detect pour une solution JavaScript efficace :
Code Extrait :
var Detector = function() { // baseFonts var baseFonts = ['monospace', 'sans-serif', 'serif']; // testString var testString = "mmmmmmmmmmlli"; // testSize var testSize = '72px'; // helper functions var h = document.getElementsByTagName("body")[0]; var s = document.createElement("span"); s.style.fontSize = testSize; s.innerHTML = testString; // default measurements var defaultWidth = {}; var defaultHeight = {}; for (var index in baseFonts) { s.style.fontFamily = baseFonts[index]; h.appendChild(s); defaultWidth[baseFonts[index]] = s.offsetWidth; //width for the default font defaultHeight[baseFonts[index]] = s.offsetHeight; //height for the defualt font h.removeChild(s); } this.detect = function(font) { var detected = false; for (var index in baseFonts) { s.style.fontFamily = font + ',' + baseFonts[index]; h.appendChild(s); var matched = (s.offsetWidth != defaultWidth[baseFonts[index]] || s.offsetHeight != defaultHeight[baseFonts[index]]); h.removeChild(s); detected = detected || matched; } return detected; }; };
Principe de fonctionnement
Ce code exploite l'apparence unique des caractères dans différentes polices. En comparant la largeur et la hauteur du texte rendu dans une police particulière avec ceux rendus dans les polices de base, il détermine si la police cible est prise en charge.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!