用innerHTML插入的脚本没有执行

时间:2015-07-08 08:18:58

标签: javascript

我正在尝试添加脚本并在页面的某个位置执行它,但是当我检查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 第一个不适用于包含标签的字符串,第二个只提供脚本而没有解释。我想了解在这种情况下是否可行,以及如何使其工作,或在何处放置该功能。

0 个答案:

没有答案
相关问题