0

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 の実行後にページを更新する他の方法はありますか?

4

1 に答える 1

0

onloadのハンドラーを設定して、iframe が正常にロードされるまでトリガーしないiframeようにすることができます (これは、cgi が実行されたことを意味するはずです)。reload

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"
}
于 2012-04-05T07:09:25.683 に答える