Как лучше всего добавить очень длинные фрагменты HTML в одностраничное приложение?

Я создаю довольно простое одностраничное приложение, в основном это всего лишь пара представлений, в которых пользователи сохраняют и работают с некоторыми данными локального хранилища. Я решил не использовать какую-либо структуру шаблонов, потому что это в основном довольно простой JavaScript / jQuery, но, возможно, стоит использовать магистраль или что-то в этом роде. Сейчас это всего лишь один index.html и несколько файлов .js.

Однако в этом приложении есть одна точка зрения, которую я не знаю, как действовать дальше. На самом деле это в основном просто текст, много текста в формате html. В основном десять глав правил. Мой вопрос: в каком формате лучше всего хранить этот текст, чтобы он оставался работоспособным и легко вводился, когда пользователь нажимает на эту главу? Прямо сейчас у меня есть объект json для каждой главы с сумасшедшей длинной строкой с html для текста в ней, но это далеко не идеально.

Итак, как лучше всего работать с огромными фрагментами HTML вместо очень длинных строк? В идеале я мог бы хранить каждую главу в виде отдельного файла, чтобы их было легче обновлять.


person Kris    schedule 09.09.2014    source источник
comment
Какой язык вы используете на стороне сервера?   -  person loveNoHate    schedule 09.09.2014
comment
Как насчет файлов, хранящихся на сервере? Вы можете вытащить HTML отдельно с помощью AJAX / JS-templating-engine-that-supports-remote-partials - ваша текущая структура данных может иметь свойство с URL-адресом файла с вашими уже записанными данными HTML, которые вы извлекаете при рендеринге время и загрузите в элемент по вашему выбору.   -  person J B    schedule 09.09.2014
comment
См. api.jquery.com/load.   -  person guest271314    schedule 09.09.2014
comment
@JB Каково улучшение производительности при извлечении html с сервера с помощью ajax и его инъекции вместо инъекции из localStorage?   -  person T J    schedule 09.09.2014
comment
@TJ: получение html из localStorage будет на порядки быстрее, чем получение его с сервера, особенно когда Интернет нестабилен.   -  person dandavis    schedule 09.09.2014


Ответы (2)


Если «лучший» способ - это самый простой (а это обычно так), используйте jQuery:

$("#chapterDiv").load("Chapters/Chapter1.html");
person Steve Wellens    schedule 09.09.2014
comment
Для всех, кому интересно, как этот подход может повлиять на ваше SEO .. - person elrobis; 25.08.2015

Возможно, простое решение - сохранить длинный контент в виде HTML-страницы и просто загрузить контент в IFrame, где вам нужно его отобразить. Вы можете контролировать размещение IFrame на своей странице. Вы просто устанавливаете атрибут src IFrame в положение этого документа.

Я знаю, что IFrame - это не «режим а-ля», но иногда вам нужно простое решение.

person user1428857    schedule 09.09.2014