これは、次のようなコードを使用して行うことができます。
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/
説明:
まず、getParameterByName
機能を使用してURLからfamily
パラメータの値を取得します。この例では、family
パラメータの値が「ドロイドセリフ:400,700,700i |メリウェザー:300,400,700,900i |オープンなき要約:300,300i、700」
は、次にフォントファミリを取得するために、配列に値を分割します。私たちはJS String .split()メソッドを "|"セパレータとして。配列内の項目は、「Droid Serif:400,700,700i」、「Merriweather:300,400,700,900i」、「Open + Sans Condensed:300」です。
配列をループし、区切り文字として ":"を使用して各項目(文字列)を分割し、最初の部分(姓を含む)を取得してfontArr
にプッシュすると、 Droid Serif "、" Merriweather "、" Open Sans Condensed "の3種類があります。結果を表示するには
は、単純に配列に参加:fontArr.join(', ')
あなたは誤解。私は、javascriptを使用して、選択された任意のフォントでこれを動的に行うことを検討しています。 – guub
私はたくさんのjを知りませんが、あなたがURLのフォント名とスペース+スペースを得ることができれば、それを使うことができます。区切り記号としてUsin =と:を使用します。 –