Что использовать вместо фреймов в HTML - PullRequest
2 голосов
/ 23 декабря 2010

Мне нужно построить сайт в HTML. Мне нужно, чтобы верх каждой страницы выглядел одинаково (обычно я использую главные страницы ASP.NET). Можно ли как-то обойтись, имея одинаковый заголовок и навигацию без одинакового кода в верхней части каждой страницы?

Сайт должен быть оптимизирован для SEO, поэтому я бы не стал использовать фреймы.

Спасибо.

Ответы [ 6 ]

6 голосов
/ 23 декабря 2010

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

Не лишены тех же или подобных недостатков, что и при использовании фреймов.

Если вам нужен механизм шаблонов, который не зависит от поддержки на стороне сервера, посмотрите Template-Toolkit .У него есть утилита под названием ttree , которая будет создавать набор статических файлов из ваших данных и шаблонов, которые затем можно будет загрузить на хостинг, который не имеет ничего общего с SSI, PHP, Masterpages и т. Д.

1 голос
/ 23 декабря 2010

Вы можете как бы "скомпилировать" сайт перед его развертыванием. Таким образом, вы можете написать страницы в виде сценариев PHP, которые содержат заголовок, а затем «скомпилировать» их, запустив сценарии и развернув их выходные данные.

0 голосов
/ 23 декабря 2010

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

Затем вы можете включить их как серверные включения в каждую из ваших страниц.

0 голосов
/ 23 декабря 2010

Большинство сайтов построены с использованием веб-фреймворков некоторого описания. По сути, они позволяют вам определять шаблоны для страниц вашего сайта - например, вы можете определять верхние и нижние колонтитулы, меню и т. Д., Которые фреймворк будет вставлять на вашу страницу во время рендеринга (при запросе страницы). Однако такие страницы являются «динамическими» и, таким образом, требуют создания сценариев, таких как perl, python, ruby, php, для создания запрошенной страницы. Есть много платформ, доступных для этих языков; или если вы создаете очень простой сайт, вы можете настроить свои собственные шаблоны и использовать их.

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

0 голосов
/ 23 декабря 2010

Я не гуру HTML, однако я уверен, что возможно создать плавающий слой (используя <DIV> или <SPAN> разделы), который можно закрепить в верхней части страницы

0 голосов
/ 23 декабря 2010

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

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

Однако, не зная, какая платформавы используете (ASP.NET/MVC, PHP, JSP и т. д.), что-либо конкретное рекомендовать невозможно.

...