Встраивание вторичного файла HTML в веб-страницу - PullRequest
1 голос
/ 17 июня 2011

Мне все еще неудобно повторять HTML для таких вещей, как код меню, верхний колонтитул, нижний колонтитул и, самое главное, панель быстрых ссылок / новостей на каждой странице. Также кажется немного неэффективным продолжать посылать один и тот же повторяющийся html для каждой страницы.

На данный момент я написал небольшую программу, которая читает эти разделы из моего index.htm и заменяет соответствующие разделы на всех других страницах этого каталога. Однако теперь все стало гораздо более неловко, когда у меня появились дополнительные страницы, такие как Message Forum и Image Gallery, обе из которых требуют собственного index.htm в соответствующих подкаталогах.

Итак, вопрос в том, использовать ли мне object, iframe или SSI?

Кто-нибудь успешно использовал тег объекта для встраивания отдельного HTML-файла в страницу? SSI выполнит эту работу, за исключением того, что повторяющийся HTML-код все еще отправляется через Интернет при каждом изменении страницы, и на страницах PHP должны использоваться различные строки включения. Как насчет использования IFrames, я знаю, что они не строго соответствуют XHTML1.0, но я, кажется, вспоминаю слухи о том, что они снова будут поддерживаться в HTML5, это делает их хорошей ставкой на будущее?

Ответы [ 2 ]

0 голосов
/ 17 июня 2011

Каждая из ваших страниц может вызывать функцию JavaScript во внешнем файле boilerplate.js. Эта функция может добавить шаблонные элементы на страницу, используя DOM.

Тем не менее, вы, возможно, не захотите этого делать или использовать IFrames по причинам SEO ! (Кроме того, ваши страницы не будут корректно работать, если клиент отключит JavaScript.)

Мне кажется, лучше иметь страницу, более удобную для поисковых систем, и вынести передачу с разметкой. Включения на стороне сервера (или любой язык сценариев на стороне сервера) дадут эти качества, а также упростят замену шаблона на всех страницах одновременно.

0 голосов
/ 17 июня 2011

Самый простой способ решить эту проблему - использовать язык сценариев (PHP, Python, ASP) и шаблоны. Вы можете создать базовую структуру для своего сайта в главном шаблоне, а затем использовать сценарии для извлечения только изменяемого содержимого.

Для особенно хорошего примера см. Система шаблонов Django .

...