window.onload 是页面全部加载完成,包括图片、CSS、JavaScript等。但加载JavaScript的方法有很多种,不同的方式下,window.onload的表现也不一样!

例如,我网页中要使用4个js文件,我分别用以下方法加载:

1、最常用的方法来加载:
<script language="javascript" src="1.js"></script>
<script language="javascript" src="2.js"></script>
<script language="javascript" src="3.js"></script>
<script language="javascript" src="4.js"></script>

window.onload = function() { 
    //这时无论在ie还是在firefox中,js没有加载完,这里的东西是不会被执行的;
}

2、document.write(''):
document.write('<script language="javascript" src="1.js"><\/script>
<script language="javascript" src="2.js"><\/script>
<script language="javascript" src="3.js"><\/script>
<script language="javascript" src="4.js"><\/script>');

window.onload = function() { 
    //这时无论在ie还是在firefox中,js没有加载完,这里的东西是不会被执行的;
}

3、用非阻塞方式加载:
function addJs(path){
var _js = document.createElement('script');
_js.src = path;
document.getElementsByTagName('head')[0].appendChild(_js);
return;
}
addJs('1.js');
addJs('2.js');
addJs('3.js');
addJs('4.js');

window.onload = function() {
//这时ie不会管上边3个JS加载完与否,都会执行这里的内容的;
//这时firefox必须等到上边3个js加载完后才执行这里的内容的;
}