我正在尝试添加脚本并在页面的某个位置执行它,但是当我检查dom时代码显示在页面上时,它不会被执行。
我是从头上打电话来的:
function include (selector) {
document.addEventListener("DOMContentLoaded", function(){
var selection = document.querySelector(selector);
var div = document.createElement("div");
var text = "<script src='myscript.js'></scr"+"ipt>"+
"<script>"+
"(function(){"+
"console.log('oh yes');"+
"myscript()"+
"})();"+
"</scr"+"ipt>";
div.innerHTML = text;
if (selection.nextSibling) {
selection.parentNode.insertBefore(div, selection.nextSibling);
}
else {
selection.parentNode.appendChild(div);
}
});
}
我的控制台里从未得到“哦,是的”。有谁知道为什么会这样?
我已经检查了这2个答案: Can scripts be inserted with innerHTML? 和 Executing <script> elements inserted with .innerHTML 第一个不适用于包含标签的字符串,第二个只提供脚本而没有解释。我想了解在这种情况下是否可行,以及如何使其工作,或在何处放置该功能。