我正在使用以下代码在页面加载后执行一些语句。
<script type="text/javascript">
window.onload = function () {
newInvite();
document.ag.src="b.jpg";
}
</script>
但这段代码不能正常工作。即使一些图像或元素正在加载,该函数也被调用。我想要的是在页面完全加载时调用该函数。
这可能对你有用。
document.addEventListener('DOMContentLoaded', function() {
// your code here
}, false);
或 如果你对jquery感到满意。
$(document).ready(function(){
// your code
});
$(document).ready()
会在DOMContentLoaded时触发,但这个事件在各浏览器中的触发并不一致。这就是为什么jQuery很可能会实施一些繁琐的变通方法来支持所有的浏览器。这将使得使用普通的Javascript来模拟这种行为变得非常困难(当然,也不是不可能)。
正如Jeffrey Sweeney和J Torres所建议的,我认为在启动函数之前最好有一个setTimeout
函数,就像下面这样。
setTimeout(function(){
//your code here
}, 3000);
如果你能使用jQuery,看看load。 然后你可以设置你的函数在你的元素完成加载后运行。
例如,考虑一个有简单图片的页面。
<img src="book.png" alt="Book" id="book" />
事件处理程序可以绑定到图片上。
$('#book').load(function() {
// Handler for .load() called.
});
如果你需要加载当前窗口上的所有元素,可以使用
$(window).load(function () {
// run code
});