onload的js函数是在网页加载完毕后才执行
1、首先把Google的统计分析代码去掉,然后打开网页,看看是否可以执行onload的js函数;
2、如果不行,再把AdSense的联盟广告代码去掉,然后测试显示效果;
3、如果还不行,就再把百度联盟广告的代码去掉,看是否解决问题。一般情况下,经过这三个步骤,onload的js函数不 能执行的问题就可以解决了。
实际上,在遇到这个问题是,我们只需注意一下状态栏里哪个地址的执行最久,哪个地址就是祸根了,把它去掉即可。如果是站内图片,则需要优化一下了,找出其加载慢的原因从而解决问题。
onload的js函数是在网页加载完毕后才执行
我一直不是很清楚,我以为onload的js函数是在网页打开的时候就执行了的,实际上,onload的js函数是在网页加载完毕后才执行,即它是网页最后才执行的函数。
了解了这个之后,我们就能理解为什么有时候onload的js函数没有执行了,原因很简单,因为网页有个别地方没有加载完,被k住哪里了。
onload是js的原生的事件,而load则是这个程序中名为SpriteSheet的自定义类中自定义的一个方法(或者说是自定义的事件),两者之间没有必然的联系,如果程序编写者原意,他也可以把load改成其他名字。onload则是不能改的,它是js的内部事件名。不但onload,所有事件都一样,如果同一个事件你写了多个触发的函数,那么它只会运行一个的。要想实现多次触发,必须使用addEventListener--“添加事件监听”的方法:
window.addEventListener('load',函数1,false)
window.addEventListener('load',函数2,false)
要注意,这两个(或者更多)语句可以放在页面的不同地方(甚至可以是不同的js文件内),当网页加载(onload)时,这些函数就会逐一运行了。
但是,上述方法在IE中无效,IE中要用attachEvent,而且用法也不同:
window.attachEvent('onload',函数1)
window.attachEvent('onload',函数2)