私は、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
}
どうも、