Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 列出计算机上的字体_Javascript_Jquery_Html_Css_Fonts - Fatal编程技术网

Javascript 列出计算机上的字体

Javascript 列出计算机上的字体,javascript,jquery,html,css,fonts,Javascript,Jquery,Html,Css,Fonts,因此,我有一个div,其中包含文本,当您在我创建的选择列表中选择不同的字体时,该div会发生变化。 目前这个列表非常有限,因为我必须自己添加字体 有没有办法用代码将用户计算机上安装的所有字体添加到列表中,而不必自己添加 HTML <div id="generate"> Change the text! </div> <select id="box" onchange="font();"> <option id="PIC" val

因此,我有一个div,其中包含文本,当您在我创建的选择列表中选择不同的字体时,该div会发生变化。 目前这个列表非常有限,因为我必须自己添加字体

有没有办法用代码将用户计算机上安装的所有字体添加到列表中,而不必自己添加

HTML

<div id="generate">
       Change the text! 
</div>

<select id="box" onchange="font();">
    <option id="PIC" value="Kies een font">Kies een font.</option>
    <option id="TNR" value="TimesNewRoman">Times New Roman</option>
    <option id="GRG" value="Georgia">Georgia</option>
    <option id="PLT" value="PalatinoLinotype">Palatino Linotype</option>
    <option id="ARL" value="Arial">Arial</option>
    <option id="CMS" value="ComicSans">Comic Sans</option>
    <option id="IMP" value="Impact">Impact</option>
    <option id="TMS" value="TrebuchetMS">Trebuchet MS</option>
    <option id="TSB" value="TheSansBlack">The Sans Black Plain</option>
</select><br />

您可以检查特定字体的可用性


您可以做的一件事是创建自己的列表并比较上面链接中提到的可用性,并且只显示客户端系统上可用的字体

可能是重复的我想说不,但上面的链接回答了:)不仅仅是javascript,但是使用js+flash非常容易,例如,这个功能已经被证明是一个安全缺陷。这个想法是,如果你能列出安装在计算机上的字体,它可以让你深入了解安装了什么软件,还可以让你有一个额外的方式来跟踪用户;将字体列表与其他详细信息结合起来,就可以唯一地识别用户,即使他们禁用了诸如cookies之类的正常跟踪方法。我相信你的意图不是这样,但无论如何,这是值得知道的,因为如果它被认为是一个安全缺陷,它可能最终会被浏览器制造商阻止。
 function font() {
        var sf = document.getElementById('box').value;
        var generate = document.getElementById('generate');

        switch(sf){
            case 'TimesNewRoman': 
                generate.style.fontFamily = ('Times New Roman')
                break;
            case 'Georgia': 
                generate.style.fontFamily = ('Georgia')
                break;
            case 'PalatinoLinotype': 
                generate.style.fontFamily = ('Palatino Linotype')
                break;
            case 'Arial': 
                generate.style.fontFamily = ('Arial')
                break;
            case 'ComicSans': 
                generate.style.fontFamily = ('Comic Sans MS')
                break;
            case 'Impact': 
                generate.style.fontFamily = ('Impact')
                break;
            case 'TrebuchetMS': 
                generate.style.fontFamily = ('Trebuchet MS')
                break;
            default: generate.style.fontFamily = ('')
            }
        }