我正在开发一个使用 javascript/jQuery 和 iFrames的网络浏览器自动化项目。问题是代码必须等待 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
}
谢谢,