Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.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 仅从Google API加载特定字体_Javascript_Jquery_Fonts_Google Api - Fatal编程技术网

Javascript 仅从Google API加载特定字体

Javascript 仅从Google API加载特定字体,javascript,jquery,fonts,google-api,Javascript,Jquery,Fonts,Google Api,我成功地用从谷歌API加载的字体设置了一个选择框。更改选择框时,我的文本区域也会更改字体 只有一件事我搞不清楚。如何从API中只加载特定字体,而不加载包含700多种字体的完整列表 我在文档中找不到任何地方可以设置要加载的字体 我所拥有的是: 在中,此代码包含我想要的6种字体: <script> WebFontConfig = { google: { families: [ 'Cookie', 'Dekko', 'Ruge+Boogie', 'Great+vibes',

我成功地用从谷歌API加载的字体设置了一个选择框。更改选择框时,我的文本区域也会更改字体

只有一件事我搞不清楚。如何从API中只加载特定字体,而不加载包含700多种字体的完整列表

我在文档中找不到任何地方可以设置要加载的字体

我所拥有的是:

中,此代码包含我想要的6种字体:

 <script>
   WebFontConfig = {
    google: { families: [ 'Cookie', 'Dekko', 'Ruge+Boogie', 'Great+vibes', 'Cabin', 'Open+Sans' ] }
  };
  (function() {
    var wf = document.createElement('script');
    wf.src = ('https:' == document.location.protocol ? 'https' : 'http') +
      '://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';
    wf.type = 'text/javascript';
    wf.async = 'true';
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(wf, s);
  })();
    </script>

WebFontConfig={
谷歌:{家庭:['Cookie'、'Dekko'、'Ruge+Boogie'、'Great+vibes'、'Cabin'、'Open+Sans']}
};
(功能(){
var wf=document.createElement('script');
wf.src=('https:'==document.location.protocol?'https':'http')+
“://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js”;
wf.type='text/javascript';
wf.async='true';
var s=document.getElementsByTagName('script')[0];
s、 parentNode.insertBefore(wf,s);
})();
在我的
中:

函数集字体(字体){
对于(var i=0;i
你的意思是这样的吗

WebFontConfig = {
  google: { families: [ 'Cookie', 'Dekko', 'Ruge+Boogie', 'Great+vibes', 'Cabin', 'Open+Sans' ] }
};

function SetFonts(fonts) {
  var loadedFonts = [];
  for (var i = 0; i < fonts.items.length; i++) {
    if ((WebFontConfig.google.families.indexOf(fonts.items[i].family) > -1) &&
        (loadedFonts.indexOf(fonts.items[i].family) === -1)) {
      $('.styleFont').append($("<option></option>").attr("value", fonts.items[i].family).text(fonts.items[i].family));
      loadedFonts.push(fonts.items[i].family);
    }
  }
}
WebFontConfig={
谷歌:{家庭:['Cookie'、'Dekko'、'Ruge+Boogie'、'Great+vibes'、'Cabin'、'Open+Sans']}
};
函数SetFonts(字体){
var loadedFonts=[];
对于(var i=0;i-1)&&
(loadedFonts.indexOf(fonts.items[i].family)=-1)){
$('.styleFont').append($('').attr(“value”,font.items[i].family.).text(font.items[i].family));
loadedFonts.push(fonts.items[i].family);
}
}
}

一件小事。。。这会导致选择框中填充两次字体。所以每种字体都列出了两种看起来很奇怪的字体,我在我的原始帖子中注意到,我缺少了一个大括号来开始
if
语句,你明白了吗?如果这不是问题,看看编辑是否有帮助……我看到缺少的括号,这不是问题所在。上面的编辑会导致一个错误,即
字体未定义
。。。
WebFontConfig = {
  google: { families: [ 'Cookie', 'Dekko', 'Ruge+Boogie', 'Great+vibes', 'Cabin', 'Open+Sans' ] }
};

function SetFonts(fonts) {
  var loadedFonts = [];
  for (var i = 0; i < fonts.items.length; i++) {
    if ((WebFontConfig.google.families.indexOf(fonts.items[i].family) > -1) &&
        (loadedFonts.indexOf(fonts.items[i].family) === -1)) {
      $('.styleFont').append($("<option></option>").attr("value", fonts.items[i].family).text(fonts.items[i].family));
      loadedFonts.push(fonts.items[i].family);
    }
  }
}