有时会调用JavaScript函数,有时不会

时间:2013-12-17 13:30:27

标签: javascript function onload

这看起来很奇怪......我有一个HTML页面,我无法修改"body"行(因为它是从另一个文件包含的php)。在文件中,在结束"/body"标记之前,我有一个JavaScript函数:

<script language="JavaScript">
function doSomething () {
  /* some code */
}
</script>

由于我希望在显示页面时执行此功能,并且由于我无法修改“body”行,因此我在某处添加了一个小图像,并在加载时调用此函数:

<img src="transp.gif" border="0" width="0" height="0" onload="doSomething();" />

问题是函数有时被调用,有时不被调用。我甚至用适当的"alert"陈述证实了这一点......我做错了什么?为什么"onload"执行不一致?

3 个答案:

答案 0 :(得分:3)

您可以使用在加载页面(和您的img)时触发的事件window.load

<script>
window.onload = function(){
   //code
};
</script>

和你的img没有事件

<img src="transp.gif" border="0" width="0" height="0" />

答案 1 :(得分:3)

问题是你尝试在DOM之前调用该函数。加载函数后调用“DoSomething”...

<script language="JavaScript">
function doSomething () {
  /* some code */
}
doSomething();
</script>

但最干净的解决方案是使用:

<script>
window.onload=function(){
   /* some code */
};
</script>

答案 2 :(得分:2)

您是否尝试过以下操作?

<html>
<body>
<script type="text/javascript">
window.onload = function () {
//your code here
}
</script>
</body>
</html>