target.appendJavascript("Wicket.Window.unloadConfirmation = false;");
не работает, потому что должен запускаться до modal.show(target);
.
Вы можете либо добавить, либо не добавлять скрипт, при открытии окна:
add(new AjaxLink<Void>("show") {
@Override
public void onClick(AjaxRequestTarget target) {
target.prependJavascript("Wicket.Window.unloadConfirmation = false;");
modal.show(target);
}
});
или добавить поведение, чтобы выполнить его на onload
:
modal.add(new AbstractBehavior() {
@Override
public void renderHead(IHeaderResponse response) {
response.renderOnLoadJavascript("Wicket.Window.unloadConfirmation = false;");
}
});
Но он должен называться перед открытием модального окна, а не при переходе от страницы (setResponsePage()
).