2011-08-22 20 views
1

我们正在测试一种新的广告方法,它可以异步调用脚本,但它们不提供任何回调。我们想要在完成加载并将新元素写入div或其他内容后跟踪此新方法的加载时间。如何跟踪异步脚本(不提供回调)?

是否只有这样才能通过setTimetout()查找此特定元素的子元素数量的变化?我还有其他什么要做?

我错过了一个现有的堆栈溢出回答这个问题,我提前道歉。

+0

'document.body.onchange()'? (或者一般而言,对于所讨论的元素来说,“onchange”)......在任何地方都可能不被支持,甚至根本无法工作 – DaveRandom

+0

经过测试,它在IE或FF中肯定不起作用,因此即使它在其他地方工作... – DaveRandom

+0

@DaveRandom:嗯,但好主意无论如何:) – shapeshifta

回答

2

看起来有脚本的onload事件,也是一个onreadystatechange事件。 IE使用readystate事件,其他使用onload。详情请参阅文章。

http://unixpapa.com/js/dyna.html

var script = document.createElement('script'); 
script.type= 'text/javascript'; 
script.async = true; 
script.onreadystatechange= function() { 
    if (this.readyState == 'complete') complete(); 
} 
script.onload= complete; 
script.src = 'some.js'; 
+0

谢谢!我认为广告会加载另一个脚本,但会试试! – shapeshifta