在页面完全加载后执行功能

我正在使用以下代码在页面加载后执行一些语句。

 <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);
评论(11)

如果你能使用jQuery,看看load。 然后你可以设置你的函数在你的元素完成加载后运行。

例如,考虑一个有简单图片的页面。

![Book](book.png)

事件处理程序可以绑定到图片上。

$('#book').load(function() {
  // Handler for .load() called.
});

如果你需要加载当前窗口上的所有元素,可以使用

$(window).load(function () {
  // run code
});
评论(6)

试试这个jQuery

$(function() {
 // Handler for .ready() called.
});
评论(1)