2016-08-10 27 views
0

Google Fonts APIを見てみると、このような通常のフォントリンクから各フォントのフォント名を取得できるものは見つかりませんでした。私はGoogleのWebfonts URLからすべてのフォント名を取得できますかGoogle WebフォントURLからフォント名を取得する方法URL

https://fonts.googleapis.com/css?family=Droid+Serif:400,700,700i|Merriweather:300,400,700,900i|Open+Sans+Condensed:300,300i,700 

?。

答えて

0
  1. ルック:https://fonts.google.com/specimen/Open+Sans?selection.family=Open+Sans
  2. そして、それを使用するフォントを選択します。
  3. をクリックしてください:右下隅
  4. ルック:CSSで指定してください。

完了!

+0

あなたは誤解。私は、javascriptを使用して、選択された任意のフォントでこれを動的に行うことを検討しています。 – guub

+0

私はたくさんのjを知りませんが、あなたがURLのフォント名とスペース+スペースを得ることができれば、それを使うことができます。区切り記号としてUsin =と:を使用します。 –

1

これは、次のようなコードを使用して行うことができます。

function getParameterByName(name, url) { 
    if (!url) url = window.location.href; 
    name = name.replace(/[\[\]]/g, "\\$&"); 
    var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), 
     results = regex.exec(url); 
    if (!results) return null; 
    if (!results[2]) return ''; 
    return decodeURIComponent(results[2].replace(/\+/g, " ")); 
} 

var googleFontUrl = 'https://fonts.googleapis.com/css?family=Droid+Serif:400,700,700i|Merriweather:300,400,700,900i|Open+Sans+Condensed:300,300i,700'; 
var fontFamilies = getParameterByName('family', googleFontUrl).split('|'); 
var fontArr = []; 
fontFamilies.forEach(function(item) { 
    fontArr.push(item.split(':')[0]); 
}); 

alert(fontArr.join(', ')); 

JSFiddle:https://jsfiddle.net/5qvpg606/

説明:

  1. まず、getParameterByName機能を使用してURLからfamilyパラメータの値を取得します。この例では、familyパラメータの値が「ドロイドセリフ:400,700,700i |メリウェザー:300,400,700,900i |オープンなき要約:300,300i、700」

  2. は、次にフォントファミリを取得するために、配列に値を分割します。私たちはJS String .split()メソッドを "|"セパレータとして。配列内の項目は、「Droid Serif:400,700,700i」、「Merriweather:300,400,700,900i」、「Open + Sans Condensed:300」です。

  3. 配列をループし、区切り文字として ":"を使用して各項目(文字列)を分割し、最初の部分(姓を含む)を取得してfontArrにプッシュすると、 Droid Serif "、" Merriweather "、" Open Sans Condensed "の3種類があります。結果を表示するには

  4. は、単純に配列に参加:fontArr.join(', ')

+0

ありがとう、私はそれを試してみます。この機能を作ったのですか、他の場所で見つけましたか?あなたは何が起こっているのかを説明して、それをよりよく理解できるでしょうか? – guub

+1

私は説明を追加しました。 'getParameterByName'関数は[here](http://stackoverflow.com/questions/901115/how-can-i-get-query-values-in-javascript)から取得されました。残りは私の考えです。 – frosdqy

関連する問題