我正在使用Wicket 6.x
,但我在AjaxNewWindowNotifyingBehavior
时遇到了问题。
根据 Wicket 文档,这就是它的作用:
打开新浏览器窗口/选项卡时通知的 Ajax 行为 带有已在另一个页面实例中打开的页面实例的 URL 同一用户会话中的窗口/选项卡
基本上,它会在创建新窗口/选项卡时提醒您。
我的问题是它无法正常工作,因为它不仅在新窗口/选项卡上触发,而且当用户按下浏览器的"后退"按钮时也会触发,这显然会弄乱我的应用程序的逻辑。
如何避免这种情况?这是检票口错误还是我做错了什么?这是我如何使用它:
add(new AjaxNewWindowNotifyingBehavior("compila") {
private static final long serialVersionUID = 1L;
@Override
protected void onNewWindow(AjaxRequestTarget target) {
//Do whatever...
}
});
有什么想法吗?有没有办法检测行为是否由于新选项卡而不是按下后退按钮而触发?
AjaxNewWindowNotifyingBehavior中的一个错误:
当"旧"页面呈现到其原始窗口中时,它会检测一个新窗口,而该页面的名称在此期间已被另一个页面更改。
见 https://issues.apache.org/jira/browse/WICKET-6479