Веб-просмотр JavaFX правильно блокирует определенные URL-адреса

Я пытаюсь заблокировать URL-адреса с определенным ключевым словом в веб-просмотре JavaFX. До сих пор я пытался использовать webEngine.locationProperty().addListener() для прослушивания изменения состояния. Хотя это успешно блокирует URL-адрес, к сожалению, для свойства locationProperty установлено значение, которое я пытаюсь заблокировать. Это вызывает проблемы для ссылок, которые используют ссылки на странице.

Два решения, которые я пробовал, чтобы вернуть locationProperty правильное значение:

  1. Звонок webEngine.load(). Это приводит к обновлению страницы, и пользователь теряет работу.
  2. Звонок webEngine.getHistory().go(0). Как говорится в документации, это ничего не делает.

Я могу придумать два общих способа решить эту проблему:

  1. Найдите более раннее место в цепочке свойств, чем locationProperty, которое изменяется для прослушивания.
  2. Найдите способ вернуть правильное значение locationProperty без перезагрузки страницы. (Я думаю, что это возможно благодаря рефлексии, которой я до сих пор старался избегать.)

Звучат ли какое-либо из этих решений разумно, и если да, то как лучше всего их реализовать?


person fdsa    schedule 14.10.2014    source источник
comment
Я думаю, что это несколько другое, но завтра я поработаю над некоторыми другими ответами, чтобы посмотреть, смогу ли я их включить.   -  person fdsa    schedule 15.10.2014
comment
@jewelsea Не то же самое, что мне нужно выяснить, как изменить текущее местоположение   -  person fdsa    schedule 16.10.2014