3

我正在尝试将一些 js 动态注入到 DOM 元素中以供执行。但是,如果我注入 at $(document).ready(),则不会评估脚本(但会正确注入)。此外,如果我尝试在 DOM 加载时注入,则容器元素尚不存在。我已经通过对容器中的脚本标签进行硬编码进行了测试,效果很好。有没有办法将 js 注入 DOM 元素并在 DOM 就绪或页面加载时对其进行评估?

$(document).ready(function(){
    var container = document.getElementById('container_div');
    var script = document.createElement('script');
    script.type = 'text/javascript';
    script.appendChild(document.createTextNode('[script]'));
    container.appendChild(script);
    //I've also tried .insertBefore and
    //.parentNode.insertBefore and jQuery's .append()
});

我想要完成的事情可能吗?

4

1 回答 1

1

在纯 JavaScript 中:

var s = document.createElement('script');
s.setAttribute('src','js/myscript.js');
document.body.appendChild(s);

这是来自jQuerify我用它来“导入”jquery 到任何页面,所以我可以用 firebug 破解它,但它应该适用于任何脚本。

于 2012-05-11T15:11:22.080 回答