Как реализовать Header и Footer в HTML файле. Чтобы каждый раз не переделывать к примеру footer хочу подключать его со стороннего .html файла
HTML. Как реализовать Header и Footer в HTML файле. Сайт написан на HTML. Перелиновка и прочие переходы сделаны вручную. Чтобы каждый раз не переделывать footer на каждой странице хочу подключать его со стороннего .html файла и встраивать внутрь того же html. Есть ли варианты?
Ещё, если не лень, подскажите как правильно делаются подобные многостраничные сайты? Вряд ли так мудохаются) Это уж я пока учусь, ищу варианты, узнаю. Если не сложно объясните суть. Может посоветуете что почитать, что изучить. Спасибо
Ответы (2 шт):
используйте pug :)
Ну или можете посмотреть здесь https://www.w3schools.com/howto/howto_html_include.asp
Из примера следует
<div w3-include-html="content.html"></div>
<script>
function includeHTML() {
var z, i, elmnt, file, xhttp;
/* Loop through a collection of all HTML elements: */
z = document.getElementsByTagName("*");
for (i = 0; i < z.length; i++) {
elmnt = z[i];
/*search for elements with a certain atrribute:*/
file = elmnt.getAttribute("w3-include-html");
if (file) {
/* Make an HTTP request using the attribute value as the file name: */
xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4) {
if (this.status == 200) {elmnt.innerHTML = this.responseText;}
if (this.status == 404) {elmnt.innerHTML = "Page not found.";}
/* Remove the attribute, and call this function once more: */
elmnt.removeAttribute("w3-include-html");
includeHTML();
}
}
xhttp.open("GET", file, true);
xhttp.send();
/* Exit the function: */
return;
}
}
}
</script>
То есть, вы можете подключать файлы с помощью js скрипта
Я нашёл вариант проще. Мне как новичку сложно и не хочется использовать замысловатые коды. Я воспользовался таким вариантом:
<!--#include file="./footer.html" -->
Если правильно понимаю, то в этом месте в любом документе где вставляю, появляется кусочек кода из footer.html / И всё это обрабатывается сервером. Так намного проще я считаю, чем городить js код) Главное работает, проверено)