DOMContentLoaded
触发,我想在脚本执行之前运行我的代码,但document.body.outerHTML
(document.childNodes[document.childNodes.length-1].outerHTML
)已满了
我尝试了这个,但是看起来它在运行后也运行了很多次所以现在我在执行mycode之前做了一个200ms的计时器工作,但是我想在没有计时器的情况下这样做
var observer = new MutationObserver(function(mutations)
{
if(document.body && document.childNodes[document.childNodes.length-1].outerHTML.lastIndexOf("</html>")!=-1)
{
observer.disconnect();
mycode();
}
});
observer.observe(document, {subtree: true, childList: true});
需要在Chrome中工作(所以之前的事件不会在这里发挥作用)
答案 0 :(得分:1)
如果你想在你所谓的所有“文本”之后运行某些内容但是在其他js之前运行,你需要在页面的最底部运行你所有的js(也就是说,btw,建议的最佳实践)并运行你需要的任何东西,然后在最顶端运行......
请注意,js是高度并发的 - 意味着很多东西同时发生,所以我建议你将第一个代码包装在一个匿名函数中运行,而另一个代码运行在另一个函数中,所以它首先被执行。
您的document.ready也可以在f。
答案 1 :(得分:0)
你不能这样做。脚本会立即执行,因此它们会在文档完全加载之前运行。