JavaFX Web ビューで特定のキーワードを含む URL をブロックしようとしています。これまでのところ、webEngine.locationProperty().addListener()
状態の変化をリッスンするために使用してみました。これは URL のブロックに成功していますが、残念ながら locationProperty はブロックしようとしている値に設定されたままになります。これにより、ページ上の参照を使用するリンクで問題が発生します。
locationProperty を正しい値に戻すために試した 2 つの解決策:
- 呼び出し
webEngine.load()
ます。これにより、ページが更新され、ユーザーは作業を失います。 - 呼び出し
webEngine.getHistory().go(0)
ます。ドキュメントにあるように、これは何もしません。
この問題を解決するには、次の 2 つの一般的な方法が考えられます。
- リッスンするように変更された locationProperty より前のプロパティ チェーン内の場所を見つけます。
- ページをリロードせずに locationProperty を正しい値に戻す方法を見つけてください。(これは、これまで回避しようとしてきた反射によって可能になると思います。)
これらの解決策のいずれかが合理的に聞こえるでしょうか?もしそうなら、それらを実装する最良の方法は何ですか?