Есть ли способ уменьшить вставку копий в html/css для содержимого, которое содержит каждая страница?
Я имею в виду, что при создании нескольких страниц мне всегда нужно копировать, вставлять шаблон заголовка, навигации и нижнего колонтитула. И хотя это не так уж сложно сделать (можно просто скопировать и вставить строку emmet и заставить ее обрабатывать все). Мне было интересно, есть ли способ, где мне не нужно было бы делать это, будь то на стороне сервера или в качестве плагина / дополнения для возвышенного текста.
Текущая идея, которую я имею, - возможно, создать js на стороне сервера, который я мог бы затем импортировать на каждую страницу, хотя я почти не знаю js, чтобы это осуществить.
Какие-либо предложения?
3 ответа
В HTML5 вы можете использовать тег объекта, чтобы включить файл.
По сути, вы создаете один файл, содержащий ваш заголовок и общий код, который идет на каждой странице.
Затем на каждой странице вашего сайта вы добавляете
<object name="includedfile" type="text/html" data="page.inc"/>
где вам нужно содержание, чтобы появиться.
Редактировать:
Проверьте также jquery, если вы предпочитаете использовать JavaScript. Есть легкие функции для достижения того же результата, как:
$.get('test.html')
.success(function(data) {
$('div.content').html(data);
});
Где test.html - это страница, которую вы хотите загрузить, а div.content - это место, куда вы хотите поместить загруженный код.
На этом этапе я бы порекомендовал вам перейти на более надежный веб-язык. Вот несколько вариантов.
- Ruby on Rails (ууу!)
- PHP
- ASP.NET (yech)
Вы определенно захотите больше мощных функций, как только начнете работать над более сложными сайтами.
Единственный ответ, который работает до HTML5, - это изучить PHP и / или установить систему, которая позволяет использовать шаблоны страниц. На большинстве веб-серверов установлен PHP.
Ваша страница будет выглядеть примерно так:
<?php
include "header.php";
?>
<!-- your html page code here -->
<?php
include "footer.php";
?>