我试图在cgi执行后刷新页面。在我的cgi中,tcp数据包被发送到端口。它在隐藏的iframe中调用。这是我的javascript代码:
function xx()
{
iframe = document.getElementById('i');
iframe.src = path+'?'+ac+'-'+type; // it is sth like that "a.cgi?11-1"
location.reload(true);
}
当我禁用location.reload cgi工作,但如果我启用它,cgi不起作用,没有数据包发送。我试图在执行和重新加载之间放置睡眠,但它也不起作用。 在执行cgi之后还有其他方法来刷新页面吗?
答案 0 :(得分:0)
您可以为onload
设置iframe
处理程序,以便在iframe成功加载之前不会触发reload
(这应该意味着您的cgi已执行):< / p>
function xx() {
iframe = document.getElementById('i');
iframe.onload = function() {
location.reload(true);
}
iframe.src = path+'?'+ac+'-'+type; // it is sth like that "a.cgi?11-1"
}
如果您还想在重新加载之前延迟一段时间,可以执行以下操作:
function xx() {
iframe = document.getElementById('i');
iframe.onload = function() {
setTimeout(function() {location.reload(true)}, 5000);
}
iframe.src = path+'?'+ac+'-'+type; // it is sth like that "a.cgi?11-1"
}