2012-06-15 113 views
4

我装d动态列表由Google Web Fonts service提供web fonts,并将其放置在选择列表,如:如何加载谷歌字体?

$.get("https://www.googleapis.com/webfonts/v1/webfonts?key=AIzaSyChZeTZ-DzMW-45IUBXUSuBha9MWEiXXtI", 
    {}, function (data) { 
    $.each(data.items, function (index, value) { 
     $('#fonts').append($("<option></option>") 
        .attr("value", value.family) 
        .text(value.family); 
    }); 

现在我想的是加载每个font当用户选择列表,为此选择它我试过了:

$("#fonts").live({ change: function() { 
    $.get("http://fonts.googleapis.com/css?family=" + $(this).val(), {}, 
    function() { alert("font loaded"); }); } }); 

但是不幸的是,这是行不通的任何人都可以帮我吗?

+0

定义“这是行不通的” – Ben

+0

字体没有应用,因为他们没有加载获取请求 –

+0

是的,“谷歌应用程序引擎”以“谷歌”开头。尽管如此,这与你的问题有着共同之处。 –

回答

2

第二个get请求只是返回所需的CSS来加载webfont。

您应该将其嵌入到网页中,或者更轻松地将链接标记添加到将加载谷歌样式的页面内容。

,则还需要设置字体家庭无论它的使用...

类似的东西:

$("#fonts").live('change', function() { 

    $('body').append("<link rel='stylesheet' id='colorbox-css' href='http://fonts.googleapis.com/css?family=" + escape($(this).val()) +"' type='text/css' media='all' />"); 

    $('body').css({'font-family':'"'+$(this).val()+'"'}) 

}); 



$.get("https://www.googleapis.com/webfonts/v1/webfonts?key=AIzaSyChZeTZ-DzMW-45IUBXUSuBha9MWEiXXtI", {}, function (data) { 

    $.each(data.items, function (index, value) { 
      $('#fonts').append($("<option></option>") 
        .attr("value", value.family) 
        .text(value.family)); 
        }); 


}); 

注:escape也被用来生成案件的网址需要它被网址编码