我正在处理我正在处理的程序的问题...我有一个webengines工作者状态的监听器,因此当state = SUCCEEDED时,它将继续执行其余的代码。
问题是我加载的网站上有很多广告,需要几分钟时间让州最终达到“成功”状态。
我打算使用计时器,但触发侦听器的唯一方法是状态是否发生变化,有没有办法可以手动更改webengines工作状态?
类似的东西:
webEngine.getLoadWorker().getState() = Worker.State.SUCCEEDED;
这段代码显然不起作用,但你明白了。
答案 0 :(得分:1)
is there any way I could manually change the webengines worker state
没有。状态表示正在加载页面的工作线程的状态。只有当网页(已成功)完成加载时,它才会更改为SUCCEEDED
。
如果您不需要完全加载页面以执行您想要执行的代码,那么在工作状态上使用侦听器来触发代码是没有意义的(或者,至少,不是等待SUCCEEDED
状态的人。要回答您的问题,您需要确定何时需要执行代码的逻辑。如果在页面完全加载时不需要执行,当执行时,您希望它被执行吗?
或者,以另一种方式提出同样的问题,或许:在什么情况下你打算将加载工人的状态改为SUCCEEDED
?为什么不执行您想要执行的任何代码呢?