页面加载后加载javascript

时间:2012-02-07 10:05:52

标签: javascript jquery

我有一个包含以下内容的外部JavaScript:

document.writeln("<script type='text/javascript' src='...'></script>");

在原始的html中,我有一些链接

<div id="banner">
    <script type="text/javscript" src="<the external javascript above>"></script> 
</div>

如何加载延迟?

我尝试过使用window.setTimeout并追加javascript,但它无效。

重要的是要在该div中加载javascript,以便document.writeln在正确的位置执行。

谢谢。

4 个答案:

答案 0 :(得分:2)

您可以在window.onload上调用您的注射代码。

window.onload = function() {  
  inject();  
  doSomethingElse();  
}; 

window.onload将等待所有资产完成下载,例如图像和脚本。下载脚本后,您可以将代码注入页面。

答案 1 :(得分:0)

也许更好的方法是在脚本中添加延迟 此外,如果您使用“document.writeln”以外的其他内容,例如:

$('#banner').append(...);

你可以更好地指导它去哪里。

答案 2 :(得分:0)

有一个用于执行此类操作的开源JavaScript库:http://labjs.com/

我过去曾经使用它并且效果很好。

答案 3 :(得分:0)

  

重要的是要在该div中加载javascript,以便document.writeln在正确的位置执行。

这不完全正确。特别是如果div为空,您只需使用:document.getElementById('banner').innerHTML = "<h1>HTML-Output here.</h1>"

如果您使用的是jQuery,

Bukko&#39; answer也会正常工作。我的回答是纯粹的Javascript。有了这个新发现的自由,您应该能够简单地将脚本加载到页面底部或使用自定义body.onload()函数 修改:或者只需关注Samet suggestions和.innerHTML。希望这会有所帮助。