如何获取系统字体?
1.首先在需要获取系统字体的网页<body>后加入以下代码:
<DIV style="LEFT: 0px; POSITION: absolute; TOP: 0px">
<OBJECT ID="dlgHelper" CLASSID="clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b" WIDTH="0px" HEIGHT="0px">
</OBJECT>
<script src="FontFacesMenu.js" language="javascript" type="text/javascript"></script>
</DIV>

2.将以下内容保存为:FontFacesMenu.js文件。
// FontFacesMenu.js
var fontsArray = new Array();
var fontsIsAdded = false;
function fontFacesMenuEnter(fontFacesDropdownList, dlgHelperId)
{
 if((fontsIsAdded == false )||(fontsArray==''))
 {
  fontsArray = getSystemFonts(dlgHelperId);
  
  fontsIsAdded = true;
  for (var s=1; s < fontsArray.length; s++)
  {
   newOption = document.createElement("option");
   newOption.value = fontsArray[s];
   newOption.text = fontsArray[s];
   fontFacesDropdownList.add(newOption);
  }
 }
}

function getSystemFonts(dlgHelperId)
{
 var a = document.all(dlgHelperId).fonts.count;
 var fArray = new Array();
 for (i = 1;i <= parent.document.all(dlgHelperId).fonts.count;i++){
  fArray[i] = parent.document.all(dlgHelperId).fonts(i);
 }
 return fArray;
}

3.在网页需要插入字体下拉菜单的位置处插入以下代码:

系统字体:
<SELECT ID="blessingWords_FontFamily_DL" name="blessingWords_FontFamily_DL" onChange="//SetFontFace(this[this.selectedIndex].innerText,this[this.selectedIndex].value);this.selectedIndex=0;" style="width:140px;" οnmοuseenter="fontFacesMenuEnter(this, 'dlgHelper');//updateFontList();">
<OPTION VALUE=""><- 设置字体 -></OPTION>      
</SELECT>

OK!看到效果了没有?如果可以,恭喜你了!
注:如果需要加上选中后的事件,在onChange中改变成你自己的相应事件处理即可。
以上对客户端的开发有用,如果需要服务器端的字体,继续往下看,否则略过即可。

4.如何将我的系统字体保存为文件?(对于服务器端开发略有小用)
(1)如果你的服务器的字体配置与你现有电脑字体配置一样的话,使用Javascript脚本,然后COPY至写字板或记事本,再保存。
接着上面步骤继续往下做:
(续)步骤一:将以下代码放在<Body>区内:
<textarea name="FontList" id="FontList" cols="35" rows="20" id="FontList" style="position:absolute; left:0px; top:0px; z-index:10000"></textarea>
步骤二:
<Script>
// "blessingWords_FontFamily_DL" 需要改成你自己获取系统字体下拉菜单的名字(如果你已经改过的话)
var dropDownListName = "blessingWords_FontFamily_DL";
function updateFontList()
{
 var list="";
 var blessingWords_FontFamily_DL = document.all[dropDownListName];
 for(i=0; i <blessingWords_FontFamily_DL.options.length; i++)
 {
  list += '<OPTION VALUE="' + blessingWords_FontFamily_DL.options[i].text + '">'+ blessingWords_FontFamily_DL.options[i].text + '</OPTION>/r/n';
 }
 document.all("FontList").value = list;
}
</Script>

步骤三:将上面第3条中最后的"//updateFontList();"中的两个斜杠隐掉,变成:
οnmοuseenter="fontFacesMenuEnter(this, 'dlgHelper');updateFontList();"

步骤四:保存你的网页,刷新它,再试试看。在“FontList”的TextArea区域应该已经有了你的所有系统字体了,先复制再贴粘到你需要的地方。
比如:第3条中<OPTION VALUE=""><- 设置字体 -></OPTION>的下面,这样,你就可以将它变成服务器上的相关字体(如果你的服务器的字体配置与你现有电脑字体配置一样的话)了。
(2)使用C#代码获取服务器系统中的字体(暂时略过,有空再写)。它的优点是可以直接获取服务器端的字体,以保持开发的一致性。

网页中如何获取客户端系统已安装的所有字体?相关推荐

  1. android插件化-获取apkplug框架已安装插件-03

    上一篇文章成功的将apkplug框架嵌入了应用中而且启动 链接http://www.apkplug.com/blog/?post=10 这一篇文章实现怎样获取全部已安装插件 一 获取框架的System ...

  2. 如何获取IOS手机已安装app的bundleid

    获取IOS手机已安装app的bundleid 如果使用oc私有api获取不到ios11以上手机的app bundleid 那么可以使用安装其他工具来获取 那就是使用  libimobiledevice ...

  3. android 获取已安装列表权限,Android 如何完整的获取到用户已安装应用列表

    接到产品经理的预研需求,说希望获取用户已安装应用列表.这个问题应该不难,只要是要把相关的知识点整理和验证一下. 对于获取用户已安装应用列表,我个人是很熟悉的,因为我的华为手机上,手机管家天天会在通知栏 ...

  4. HTML自动获取地址,网页中自动获取经纬度值并在地图中显示当前位置实例代码...

    下面的HTML代码就是实例完整代码,如果你需要本项目完整实例代码,下载链接在文章最底部 网页中自动获取经纬度值并在地图中显示当前位置,可在地图中进行拖动选择当前位置并输出经纬度,这是项目实例代码,可参 ...

  5. 可以模拟人工操作的软件;如访问网页,在网页中自动获取固定信息等

    有什么模拟人工操作的软件比较强大,如可以添加执行操作步骤,访问网站,在网页中自动获取固定信息等:在线等,跪求大神帮助

  6. php获取客户mac地址吗,如何在php与js中分别获取客户度mac地址

    如何在php与js中分别获取客户度mac地址 导语:如何在php与js中分别获取客户度mac地址的呢?学代码的你懂吗?下面的是百分网小编为大家搜集的`相关资料,供大家参考. 代码如下: class M ...

  7. 获取Android手机已安装应用程序的安装包

    手把手教你获取Android手机已安装应用程序的安装包 前言: 某天临时访问了一个网址然后下载了一个APP,过了一段时间想要将这个APP安装在其他手机上面或者是介绍给其他小伙伴安装的时候发现该应用在应 ...

  8. 【每日随笔】使用 you-get 获取网页中的视频资源 ( Python 环境安装 | you-get 工具使用 )

    文章目录 一.Python 环境安装 二.安装 you-get 工具 三.使用 you-get 工具下载网页视频 一.Python 环境安装 参考 [开发环境]Windows 中安装 Python 各 ...

  9. 获取手机上已安装应用,游戏的安装包

    有些时候我们手机上安装好用的app,但后来找不到下载链接了,又想分享给好朋友,就可以用此应用将手机上安装的app安装包文件(.apk)保存到手机本地,然后用其他文件分享工具将安装包分享给好友安装,使用 ...

最新文章

  1. 经典排序算法 - 冒泡和快排总结
  2. 从入门到精通聊聊区块链
  3. html页面加载转圈,纯CSS实现加载转圈样式
  4. java 最少使用(lru)置换算法_LRU算法详解及最简单的Java实现
  5. LeetCode 1053. 交换一次的先前排列
  6. 直接从Windows7RC版升级安装RTM版本的小窍门
  7. html radio 默认图片替换_用纯CSS改变html radio/checkbox默认背景颜色样式
  8. wordpress后台出现404
  9. ubuntu 20.04 pdf viewer 推荐
  10. 原生js格式化显示json对象以及stringify的妙用
  11. 爬虫遇到网页审查元素(开发者工具)打不开怎么办?
  12. latex 之好看的字体格式
  13. 十二烷基-β-D-麦芽糖苷/CAS号: 69227-93-6
  14. 学计算机颈椎,电脑颈
  15. 字节内推 面试进度可查询 拒绝石沉大海 !!!
  16. 贝叶斯法则与虚假阳性的病例
  17. win7系统问题:——桌面壁纸变黑解决方案
  18. android 点击震动,Android应用中实现点击按钮震动
  19. 希尔排序Linux下c 实现
  20. 摩拜获巨额融资,为何还被曝拖欠底层员工薪水?

热门文章

  1. 泰安服务器维护公司,神云 泰安服务器
  2. php倒放,神奇创意怎么让视频倒着播放 还有减速或加速播放
  3. MySQL面试题 | 附答案解析(二)
  4. 解决Python OpenCV 读取视频并抽帧出现error while decoding的问题
  5. 站在巨人的肩膀上,Adrian与dlib中face_recongnition模块的贡献者Adam的采访部分翻译
  6. Numpy 数组复合排序——mX4列,根据多列组合排序
  7. C指针4:数组指针(指向数组的指针)
  8. 基于yolov5和deepsort的行人车辆的检测、跟踪和计数(课程设计)
  9. OpenCV图像缩放插值之BiCubic双三次插值
  10. 怎样用python画雪花_python使用turtle库与random库绘制雪花