Reputation: 103
I have an all HTML/CSS website being hosted by Github Pages (which appears to only support "static pages"?). How can I include the HTML of my master HTML page (header and footer) into another HTML page? I would be open to using HTML, Javascript, Jquery, etc to accomplish this (as long as my pages would still qualify as "static"). Thank you for the help.
Upvotes: 2
Views: 2637
Reputation:
Include the HTML
Including HTML is done by using a include-html attribute:
<div include-html="content.html"></div>
Add the JavaScript
HTML includes are done by JavaScript.
<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("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("include-html");
includeHTML();
}
}
xhttp.open("GET", file, true);
xhttp.send();
/*exit the function:*/
return;
}
}
}
</script>
Call includeHTML() at the bottom of the page:
<script>
includeHTML();
</script>
Ref: https://www.w3schools.com/howto/howto_html_include.asp
Upvotes: 2