Как мне сохранить верхний и нижний колонтитулы моих сайтов в одном месте? - PullRequest
6 голосов
/ 30 июня 2010

Я всегда переписываю свои верхние и нижние колонтитулы, и для каждого редактирования мне приходится вручную копировать и вставлять весь код в веб-страницы.Очевидно, что это неправильный подход, но я не уверен в правильности.Моя текущая идея состоит в том, чтобы иметь div «header» и «footer», а затем с $ (document) в jquery .ready загружать div с кодом.Я боюсь, что это будет медленно, потому что он ждет, пока вся страница будет отрисована, прежде чем выполнять код верхнего / нижнего колонтитула.Каков общий способ решения этой проблемы?

Ответы [ 5 ]

10 голосов
/ 30 июня 2010

Похоже, вам нужна серверная технология.Какой из (множества вариантов) вы выберете, зависит от вас и вашего хостинга.Скорее всего, ваш хостинг будет поддерживать PHP и SSI (включая серверную часть).

В простейшей настройке, в основном, поместите общий код в отдельные файлы, скажем header.inc и footer.inc.Неважно, какое имя или расширение у этих файлов.

Для PHP ваши страницы должны теперь быть *.php вместо *.html, и вам нужно написать этот код:

<?php include('header.inc'); ?>
<p>
    Here is your regular document.
</p>
<?php include('footer.inc'); ?>

Для SSI вам не нужно менять имена ваших файлов, и ваш код будет выглядеть так:

<!--#include virtual="header.inc" -->
<p>
    Here is your regular document.
</p>
<!--#include virtual="footer.inc" -->
4 голосов
/ 30 июня 2010

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

Есть два простых способа сделать это:

1) Использовать язык на стороне сервера, такой как php, чтобы включить нижние колонтитулы:

<?php
  include('header.html');
?>
The rest of the page goes here
<?php
  include('footer.html');
?>

2) Использовать процесс сборки / развертываниякоторый генерирует статические страницы.Это будет похоже на 1), но это будет происходить только один раз за сборку, а не каждый раз, когда кто-то попадает на страницу.

1 голос
/ 30 июня 2010

Обычно используется какая-либо серверная технология шаблонов, такая как PHP, JSP или XSL. Создать повторно используемые фрагменты кода, которые можно связать, довольно просто, используя один из этих подходов.

Для подхода чистого HTML + JS вы можете использовать IFRAME для ссылки на отдельный HTML-файл верхнего и нижнего колонтитула. Это позволило бы вам хранить всю информацию верхнего и нижнего колонтитула в одном месте, обновляя ее только один раз.

0 голосов
/ 30 июня 2010

Использование HTML или PHP включает.

0 голосов
/ 30 июня 2010

Обычный способ - использовать язык на стороне сервера, например PHP . Или, если вам нужен только нижний колонтитул и заголовок, вы можете использовать SSI

...