0

作業中のプログラムに問題があります... webengines ワーカー状態のリスナーがあるため、state = SUCCEEDED の場合、残りのコードが続行されます。

問題は、読み込んでいる Web サイトに大量の広告があり、状態が最終的に "SUCCEEDED" に達するまでに数分かかることです。

タイマーを使用する予定ですが、リスナーをトリガーする唯一の方法は、状態が変化した場合です。webengines ワーカーの状態を手動で変更する方法はありますか?

何かのようなもの:

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

このコードは明らかに機能しませんが、要点はわかります。

4

1 に答える 1

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

いいえ。状態は、ページを読み込んでいるワーカー スレッドの状態を表します。SUCCEEDEDWeb ページの読み込みが (正常に) 完了した場合にのみ変更されます。

実行したいコードを実行するためにページを完全にロードする必要がない場合、ワーカー状態でリスナーを使用してコードをトリガーすることは意味がありません (または、少なくとも、状態を待つものSUCCEEDED)。あなたの質問に答えるには、コードを実行するときの背後にあるロジックを決定する必要があります。ページが完全にロードされたときに実行する必要がない場合、いつ実行しますか?

または、同じことを別の言い方で尋ねると、おそらく、どのような状況でロード ワーカーの状態を に変更するつもりSUCCEEDEDですか? 代わりに、実行しようとしているコードを実行してみませんか?

于 2014-05-29T01:05:08.657 に答える