修复不能执行 js 的问题

main
PJ568 2 years ago
parent f5a6617eb3
commit 889e7b0345

@ -1,21 +1,47 @@
// function includeHTML() {
// var elements = document.getElementsByTagName("include");
// for (var i = 0; i < elements.length; i++) {
// var element = elements[i];
// var file = element.getAttribute("src");
// if (file) {
// (function(element) { // 创建一个函数作用域,以便保存每个元素的引用
// var xhttp = new XMLHttpRequest();
// xhttp.onreadystatechange = function() {
// if (this.readyState === 4 && this.status === 200) {
// element.innerHTML = this.responseText;
// }
// };
// xhttp.open("GET", file, true);
// xhttp.send();
// })(element);
// }
// }
// }
// document.addEventListener("DOMContentLoaded", includeHTML);
function includeHTML() { function includeHTML() {
var elements = document.getElementsByTagName("include"); var elements = document.getElementsByTagName("include");
for (var i = 0; i < elements.length; i++) { for (var i = 0; i < elements.length; i++) {
var element = elements[i]; var element = elements[i];
var file = element.getAttribute("src"); var file = element.getAttribute("src");
if (file) { if (file) {
(function(element) { // 创建一个函数作用域,以便保存每个元素的引用 var xhttp = new XMLHttpRequest();
var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() {
xhttp.onreadystatechange = function() { if (this.readyState === 4 && this.status === 200) {
if (this.readyState === 4 && this.status === 200) { element.innerHTML = this.responseText;
element.innerHTML = this.responseText; // 执行加载的JavaScript代码
var scripts = element.getElementsByTagName("script");
for (var j = 0; j < scripts.length; j++) {
var script = document.createElement("script");
script.innerHTML = scripts[j].innerHTML;
document.body.appendChild(script);
} }
}; }
xhttp.open("GET", file, true); };
xhttp.send(); xhttp.open("GET", file, true);
})(element); xhttp.send();
} }
} }
} }
document.addEventListener("DOMContentLoaded", includeHTML); document.addEventListener("DOMContentLoaded", includeHTML);
Loading…
Cancel
Save