javascript - Wicket AjaxNewWindowNotifyingBehavior 和后退按钮

标签 javascript java wicket wicket-6

我正在使用 Wicket 6.x,但在使用 AjaxNewWindowNotifyingBehavior 时遇到了问题。

根据 Wicket 文档,这是它的作用:

An Ajax behavior that notifies when a new browser window/tab is opened with url to a page instance which is already opened in another window/tab in the same user session

基本上,它会在创建新窗口/选项卡时提醒您。

我的问题是它不能正常工作,因为它不仅在新窗口/标签上触发,而且当用户按下浏览器的“后退”按钮时,这显然是打乱了我的应用程序的逻辑。

如何避免这种情况?这是 Wicket 错误还是我做错了什么?以下是我的使用方式:

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

关于javascript - Wicket AjaxNewWindowNotifyingBehavior 和后退按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44006238/

相关文章:

javascript - 直到可视化结束,气泡才能够承受 - Google Motion Bubble Chart

javascript - 这种获取表中最长行长度的语法有什么问题?

java - 不同上下文中同一类的变量

java - Wicket - 确认面板更换/删除以保存未保存的数据

java - Wicket SelectOption<T> 在 Select<T> 进行的 getDefaultModelObject() 调用上返回 null

javascript - 发现奇怪的用户代理

javascript - 将悬停暂停添加到 jQuery

c# - 为什么我们应该避免公共(public)方法?封装的好处

java - 如何获取抛出超时异常时收到的有效负载量(Android)?

java - 哪个基于 Java 框架的组件也可以做 Web 服务?