我试图动态地将一些js注入到DOM元素中以便执行。但是,如果我在$(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()
});
我想要完成的是什么?
答案 0 :(得分:1)
纯粹的javascript:
var s = document.createElement('script');
s.setAttribute('src','js/myscript.js');
document.body.appendChild(s);
这是来自jQuerify我用它来“导入”jquery到任何页面,所以我可以用firebug破解它,但它应该适用于任何脚本。