我有一个包含以下内容的外部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在正确的位置执行。
谢谢。
答案 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>"
Bukko&#39; answer也会正常工作。我的回答是纯粹的Javascript。有了这个新发现的自由,您应该能够简单地将脚本加载到页面底部或使用自定义body.onload()函数 修改:或者只需关注Samet suggestions和.innerHTML。希望这会有所帮助。