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

JavaScript function sometimes called, sometimes not

本文关键字:调用 函数 JavaScript      更新时间:2023-09-26

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

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

由于我希望这个函数在页面显示时执行,而且我不能修改"正文"行,所以我在某个地方添加了一个小图像,并在加载时调用了这个函数:

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

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

问题是您试图在函数进入DOM之前调用它。加载函数后调用"DoSomething"。。。

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

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

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

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

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

和您的img无事件

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

您尝试过以下操作吗?

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