0

我试图在 JavaFX webview 中阻止带有特定关键字的 URL。到目前为止,我已经尝试使用webEngine.locationProperty().addListener()来监听状态的变化。虽然这可以成功阻止 URL,但不幸的是,它会将 locationProperty 设置为我试图阻止的值。这会导致在页面上使用引用的链接出现问题。

我尝试将 locationProperty 设置回其正确值的两种解决方案:

  1. 呼唤webEngine.load()。这会导致页面刷新并且用户失去工作。
  2. 呼唤webEngine.getHistory().go(0)。正如它在文档中所说,这没有任何作用。

我可以想到两种解决这个问题的一般方法:

  1. 在属性链中找到比 locationProperty 更早的位置,该位置被更改为侦听。
  2. 找出一种无需重新加载页面即可将 locationProperty 更改回其正确值的方法。(我认为这可能通过我一直试图避免的反思来实现。)

这些解决方案中的任何一个听起来是否合理,如果是,那么实施它们的最佳方法是什么?

4

0 回答 0