javascript刷新可防止cgi执行

时间:2012-04-05 07:01:14

标签: javascript iframe cgi refresh

我试图在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之后还有其他方法来刷新页面吗?

1 个答案:

答案 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"
}