Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript函数未执行_Java_Javascript_Jsp_Onload Event - Fatal编程技术网

javascript函数未执行

javascript函数未执行,java,javascript,jsp,onload-event,Java,Javascript,Jsp,Onload Event,我想在加载页面时在外部js文件中执行javascript函数。这是调用函数的jsp文件中的代码,我将其放在jsp的底部 <%-- Begins countdown --%> <script src="/pub/scripts/counter.js" type="text/javascript"></script> <script type="text/javascript"> window.onload=startCountdown; </s

我想在加载页面时在外部js文件中执行javascript函数。这是调用函数的jsp文件中的代码,我将其放在jsp的底部

<%-- Begins countdown --%>
<script src="/pub/scripts/counter.js" type="text/javascript"></script>
<script type="text/javascript">
window.onload=startCountdown;
</script>
当页面加载到浏览器中时,我看到脚本已加载,但startCountdown函数从未执行。如何才能做到这一点?

我会在html中使用,以确保在执行脚本之前必须完全加载页面。

更改窗口。onload=startCountdown;到window.onload=startCountdown;并使用defer


添加将是不正确的。延迟并不会改变任何事情。他已经在通过window.onload做这件事了。这是一样的。你怎么知道startCountdown永远不会被执行?也许是的,但是显示器坏了。这不会倒计时。它将在900秒后被调用一次。。。所以你需要等那么久,它才能运行。
function startCountdown() {
var TIMEOUT = 900000; 
var COUNT_BACK = 3;   
setTimeout("displayWarning("+COUNT_BACK+")", TIMEOUT);
}
<%-- Begins countdown --%>
<script defer src="/pub/scripts/counter.js" type="text/javascript"></script>
<script defer type="text/javascript">
window.onload=startCountdown();
</script>
this is the function in the js file

var startCountdown = function() {
var TIMEOUT = 900000; 
var COUNT_BACK = 3;   
setTimeout("displayWarning("+COUNT_BACK+")", TIMEOUT);
};