平时在html中,我们通常将项目公共部分如 header 、footer、menu等独立封装,而不是每个页面都去copy相同的代码,本次将介绍纯html静态项目中如何采用include方式引入公共部分页面
1、利用jquery的get方法 获取页面后将返回值添加给dom标签,如下:
$.get('header.html',function(data){
$("#header").html(data)
})
利用http请求公共页面文件,http response将返回页面代码,然后在通过html方法动态将代码添加到指定节点。
2、第二种方式: 采用h5的w3-include-html 属性 + js 方法通过实现
<!DOCTYPE html>
<html>
<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>
<body>
<div w3-include-html="h1.html"></div>
<div w3-include-html="content.html"></div>
<script>
includeHTML();
</script>
</body>
</html>
网友评论