2013-09-21 2 views
0

Я использую основную нагрузку шрифта, как это:Как передать имена шрифтов в webfont.load в виде строки

WebFont.load({ 
    google: { 
     families: [ 'Droid Sans','Cookie','Parisienne' ] 
    } 
}); 

Но мне нужно, чтобы передать имена шрифтов в этом виде строки. Что-то вроде:

var fntstr = "'Droid Sans','Cookie','Parisienne'"; 
WebFont.load({ 
    google: { 
     families: [ fntstr ] 
    } 
}); 

Почему это не работает? Разве это не просто передача json-структуры Webfont.load?

+0

Почему строка? Параметр - это массив, поэтому почему бы просто не создать массив имен шрифтов? – jeff

ответ

1

В вашем первом примере семейства представляют собой массив, содержащий 3 строки.

['Droid Sans','Cookie','Parisienne'] 

В вашем втором примере семейства представляют собой массив, содержащий 1 строку.

["'Droid Sans','Cookie','Parisienne'"] 

Чтобы сделать эту работу, вы хотите сделать что-то вроде следующего:

var fntstr = "'Droid Sans','Cookie','Parisienne'"; 
var fntarr = fntstr.split(','); 
WebFont.load({ 
    google: { 
     families: fntarr 
    } 
}); 

Метод сплит разделит вашу строку на каждой запятой и создать массив с элементами.

http://www.w3schools.com/jsref/jsref_split.asp

+0

Просьба не ссылаться на w3schools, так как содержит много ошибочной информации, а примеры крайне низкого качества. – jeff

+0

Не могу я просто создать массив, а не разбивать? var fntstr = ['Droid Sans', 'Cookie', 'Parisienne']; –

+0

@DougWolfgram Вы можете просто создать такой массив. Я добавил метод split, чтобы вы могли использовать строку в вашем примере. – woodedlawn

Смежные вопросы