列出用户浏览器可以显示的每种字体
JavaScript 可以检索浏览器可显示的字体吗?
是的,可以使用以下命令获取用户浏览器支持的所有字体的列表JavaScript。这样可以创建一个包含可供用户选择的可用字体的下拉列表。
字体检测实现
请参阅 http://www.lalit.org/lab/javascript -css-font-detect 用于高效的 JavaScript 解决方案:
代码片段:
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; }; };
工作原理
此代码利用了不同字体中字符的独特外观。通过比较以特定字体呈现的文本与以基本字体呈现的文本的宽度和高度,确定是否支持目标字体。
以上是JavaScript 可以检测用户浏览器可以显示的所有字体吗?的详细内容。更多信息请关注PHP中文网其他相关文章!