JavaScript函数有时被调用,有时不被调用
JavaScript function sometimes called, sometimes not
这看起来很奇怪。。。我有一个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>
相关文章:
- 如何从模块链中调用函数.导出到节点中
- 调用函数内部的函数
- 在javascript中调用c函数
- DropDownListFor赢得't在更改时调用函数
- Javascript页面调用函数
- 在动画结束之前调用函数
- 允许父窗口在其不同域的子iframe上调用函数
- 运行Infinite Scroll后调用函数时出现问题
- JavaScript:在调用函数的文本输入上按enter键
- 使用大括号和不使用bracs调用函数的区别
- javascript在事件上调用函数
- 从index.html调用函数,该函数无限循环
- 从带参数的字符串变量调用函数中的函数
- 为什么 JS 不在滚动时调用函数
- 是否可以在不更改上下文的情况下调用函数.apply
- 如何在ES6类中使用参数调用函数
- AngularJS:调用函数时编号不更新
- JavaScript中的立即调用函数表达式(IIFE)-传递jQuery
- 在JavaScript中调用函数时自定义此选项
- 调用函数中声明的变量