здесь у меня есть декларация:
<div id="timeline-embed"></div>
<script type="text/javascript">
var timeline_config = {
width: "100%",
height: "100%",
debug: true,
rows: 2,
source: 'Timeline/example_json.json'
}
</script>
<script type="text/javascript" src="/storyjs-embed.js"></script>
поэтому теперь я хочу вместо этого использовать source: 'Timeline/example_json.json'
для использования
что-то вроде:
source: '{
"timeline":
{
"headline":"Sh*t People Say",
"type":"default",
"text":"People say stuff",
"startDate":"10/4/2011 15:02:00",
"date": [
{
"startDate":"10/4/2011 15:10:00",
"endDate":"10/4/2011 15:55:00",
"headline":"prvo",
"text":"<p>dddddddddddddddd dd</p>",
"asset":
{
"caption":"yessss"
}
},
{
"startDate":"10/4/2011 17:02:00",
"endDate":"10/4/2011 18:02:00",
"headline":"drugo da da",
"text":"<p>In true political fashion, his character rattles off common jargon heard from people running for office.</p>",
"asset":
{
"media":"http://youtu.be/u4XpeU9erbg",
"credit":"",
"caption":""
}
}
]
}
}'
но не работает. Я действительно не знаю, что это точно... Пожалуйста, помогите.
Итак, это верный плагин Timeline, и для этого плагина нужен JSON в качестве источника, но есть ли способ изменить источник с помощью переменной Javascript?
То, как вы это записали, значение "timeline_config.source" является строкой, а не "пригодным для использования" Javascript-объектом.
Вам может потребоваться преобразовать строку в объект с помощью JSON.parse(). Поэтому добавьте эту строку кода в качестве последней строки вашего первого блока <script>.
timeline_config.source = JSON.parse(timeline_config.source)
В качестве альтернативы, как указано в комментариях, вы можете просто удалить одиночные кавычки вокруг строки, и она будет изначально объектом JS.
Попробуйте удалить разделитель строк, поэтому он говорит:
source: {
"timeline": { ... }
},
Таким образом, это объект JS, а не строка.