1

私は、javascript/jQuery と iFrame を使用してWeb ブラウザー自動化プロジェクトに取り組んでいます。問題は、コードが実行を続行する前に iframe がロードされるのを待たなければならないことです。

        // set value on iframe input on page 1
        $('#csi').contents().find('#inputonpage1').val('hello world');
        // click the send button
        $('#csi').contents().find('#sendbuttononpage1').trigger('click');

        // here must wait until the iframe loads it's 'new' page
        ?

        // set value on another field on page 2
        $('#csi').contents().find('#inputonpage2').val('hello world again');
        // click a button...
        $('#csi').contents().find('#sendbuttononpage2').trigger('click');
        // wait to load... and continue on page 3... 4... 5... etc...
        . 

等々...

$().load 関数のコールバックとそれらすべてについて読みましたが、iframe の準備が整う前に次のコード行の実行を防ぐために何かが必要です。他のすべての投稿で見たように、一度だけではありません。

グローバルを使用してiframeステータスにフラグを立てようとしています...次のようなものです:

var isready = false;

$(document).ready(function(){        

    $("#csi").load(function(){
        isready=true;
    });

    $("#buttonstart").click(function(){
        // fill fields and click button...
        // start wait function
        // fill fields and click button...
    });
});

function wait(){
    while(!isready){
        // thread hangs here....
    }
    isready=false;   // disarms
}

どうも、

4

0 に答える 0