我正在尝试将一些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()
});
我想要实现的目标可能吗?
在纯 javascript 中:
var s = document.createElement('script');
s.setAttribute('src','js/myscript.js');
document.body.appendChild(s);
这是来自jQuerify,我用它来"导入"jquery到任何页面,这样我就可以用firebug破解它,但它应该适用于任何脚本。