我正在为测试人员使用一个简单的界面,我正在编写HTML页面。我需要做的是当用户按下按钮时打开一个特定的URL(URL在另一台服务器上触发Hudson / Jenkins作业)。以下是我用来完成此任务的代码:
function triggerJob() {
var url = "...";
var trigger = window.open(url);
setTimeout(function() {trigger.close();}, 1000);
}
几点说明:
trigger.close();
之外的其他语句放在匿名函数中,并且它们也未执行。毫无疑问,setTimeout没有执行它应该是的块。感谢您提供给我的任何帮助。我已经玩弄了几个小时,无法弄清楚为什么我的代码没有正确执行超时。
答案 0 :(得分:1)
在做其他事情的过程中弄清楚了这个问题,所以我想我会分享解决方案以防其他人遇到同样的问题。问题是我使用表单中提交按钮的onClick
属性调用此函数。提交表单时,它会调用该函数,然后在函数执行后立即重新加载页面,这将取消triggerJob
函数中设置的超时。如果要以这种方式使用setTimeout
,则必须使用链接,单选按钮等。感谢所有试图帮助我的人。
德鲁