Tìm hiểu làm thế nào để bao gồm các đoạn trích HTML trong HTML.
HTML
Lưu HTML bạn muốn đưa vào tệp .html:
content.html
Google Maps Nút hoạt hình Box Modal Hộp hoạt hình Tiến trình Thanh treo lơ lửng nhấp vào Dropdowns Bảng đáp ứng bảng
Animated Buttons
Modal Boxes
Animations
Progress Bars
Hover Dropdowns
Click Dropdowns
Responsive Tables
Bao gồm HTML
Bao gồm HTML được thực hiện bằng cách sử dụng thuộc tính W3-Include-HTML:w3-include-html attribute:
Thí dụ
Thêm JavaScript
HTML bao gồm được thực hiện bởi JavaScript.
Thí dụ
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;
}
}
}
Thêm JavaScript
HTML bao gồm được thực hiện bởi JavaScript.
hàm bao gồmHtml [] {& nbsp; var z, i, elmnt, file, xhttp; & nbsp; / * Loop thông qua một bộ sưu tập tất cả các yếu tố HTML: */& nbsp; z = document.getElsByTagName ["*"]; & nbsp; for [i = 0; i { fetch[filePath ].then[async response => { const text = await response.text[] if [!response.ok] { throw Error[`${response.statusText} [${response.status}] | ${text} `] } node.innerHTML = text const rootPath = filePath.split["/"].slice[0, -1] node.querySelectorAll[`[${INCLUDE_TAG_NAME}]`].forEach[elem=>{ const relativePath = elem.getAttribute[`${INCLUDE_TAG_NAME}`] // not support ".." if[relativePath.startsWith['/']] { // begin with site root. return } elem.setAttribute[`${INCLUDE_TAG_NAME}`, [...rootPath, relativePath].join["/"]] }] node.removeAttribute[`${INCLUDE_TAG_NAME}`] await includeHTML[node, {cb}] node.replaceWith[...node.childNodes] // //stackoverflow.com/a/45657273/9935654 resolve[] } ].catch[err => { node.innerHTML = `${err.message}` resolve[] }] }] } if [cb] { cb[] } }
// popup.js
import * as include from "include.js"
window.onload = async [] => {
await include.includeHTML[undefined, {}]
// ...
}
đầu ra
Hello World