Я использую браузер SWT в своем приложении. Мне нужно запустить скрипт на странице HTML в браузере. Но сценарий запускается до полной загрузки страницы. Итак, как мне сделать приложение ждать, пока браузер завершит загрузку. Я пробовал что-то вроде этого.Как дождаться загрузки браузера SWT?
completed = true;
browser.addProgressListener(new ProgressListener() {
@Override
public void completed(ProgressEvent event) {
completed = true; //say this is a global variable
}
@Override
public void changed(ProgressEvent event) {
completed = false;
System.out.println("Page changing");
}
});
//some other method
void m1()
{
browser.setText("blah blah blah");
while (completed == false)
{}
// EXECUTE THE SCRIPT NOW
}
Но это не сработает!
Это похоже на Java SWT browser: Waiting till dynamic page is fully loaded, но решения нет.
Какая часть предлагаемого решения не работает? – Baz
Сразу после выполнения функции browser.setText() цикл while выполняется и по завершении = true, он даже не входит в цикл. Например, если я помещаю оператор печати во время цикла while, он не печатается даже один раз. См. редактируемый код. – user3873909
Ну, установив короткий текст, как это делается в одно мгновение. Почему вам все равно нужен цикл? – Baz