我有一个常规的wicket页面,当我们离开那个页面时我需要捕获和事件,或者页面被破坏也可以工作。
我试图覆盖所有敏感的声音方法,但没有触发它们。
有一种简单的方法吗?将页面注册到某个侦听器也可以正常工作。
非常感谢!
答案 0 :(得分:2)
我想我会在这里发布解决方案,所以我们也有一个在SO上。
private class ProcessAfterCloseBehavior extends AbstractDefaultAjaxBehavior {
@Override
public void renderHead(Component component, IHeaderResponse response) {
super.renderHead(component, response);
response.render(new OnDomReadyHeaderItem("window.onbeforeunload = function (e) {"
+ getCallbackScript() + "};"));
}
@Override
protected void updateAjaxAttributes(AjaxRequestAttributes attributes) {
attributes.setAsynchronous(false);
}
@Override
protected void respond(AjaxRequestTarget target) {
//Do whatever you need to do.
}
}