如何将WebEngine工作程序状态设置为SUCCEEDED

时间:2014-05-29 00:20:30

标签: javafx listener state worker javafx-webengine

我正在处理我正在处理的程序的问题...我有一个webengines工作者状态的监听器,因此当state = SUCCEEDED时,它将继续执行其余的代码。

问题是我加载的网站上有很多广告,需要几分钟时间让州最终达到“成功”状态。

我打算使用计时器,但触发侦听器的唯一方法是状态是否发生变化,有没有办法可以手动更改webengines工作状态?

类似的东西:

webEngine.getLoadWorker().getState() = Worker.State.SUCCEEDED;

这段代码显然不起作用,但你明白了。

1 个答案:

答案 0 :(得分:1)

is there any way I could manually change the webengines worker state

没有。状态表示正在加载页面的工作线程的状态。只有当网页(已成功)完成加载时,它才会更改为SUCCEEDED

如果您不需要完全加载页面以执行您想要执行的代码,那么在工作状态上使用侦听器来触发代码是没有意义的(或者,至少,不是等待SUCCEEDED状态的人。要回答您的问题,您需要确定何时需要执行代码的逻辑。如果在页面完全加载时不需要执行,当执行时,您希望它被执行吗?

或者,以另一种方式提出同样的问题,或许:在什么情况下你打算将加载工人的状态改为SUCCEEDED?为什么不执行您想要执行的任何代码呢?