Используйте переменную javascript вместо файла json

0

здесь у меня есть декларация:

 <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?

Теги:

2 ответа

1
Лучший ответ

То, как вы это записали, значение "timeline_config.source" является строкой, а не "пригодным для использования" Javascript-объектом.

Вам может потребоваться преобразовать строку в объект с помощью JSON.parse(). Поэтому добавьте эту строку кода в качестве последней строки вашего первого блока <script>.

timeline_config.source = JSON.parse(timeline_config.source)

В качестве альтернативы, как указано в комментариях, вы можете просто удалить одиночные кавычки вокруг строки, и она будет изначально объектом JS.

  • 0
    Зачем даже разбирать его? Просто удалите внешние кавычки, и это должно работать.
1

Попробуйте удалить разделитель строк, поэтому он говорит:

source: {
     "timeline": { ... }
},

Таким образом, это объект JS, а не строка.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню