Javascript 使用浏览器后退按钮进行ExtJS应用程序导航

Javascript 使用浏览器后退按钮进行ExtJS应用程序导航,javascript,html,extjs,Javascript,Html,Extjs,我有一个ExtJS(版本4.1.1)应用程序,它只有一个JSP页面,但使用ExtJS组件创建了多个屏幕。单击浏览器中的“上一步”按钮时,我希望在应用程序中显示上次访问的屏幕,而不是使用浏览器的默认行为重定向到上次访问的网页 如何实现这一点?您需要使用该类,该类旨在通过浏览器的“后退”和“前进”按钮跟踪导航。其基本思想是,当用户访问应用程序中的新屏幕时,您使用该屏幕的标识符令牌进行调用。然后,当用户单击浏览器的“后退”按钮时,将使用用户导航回的屏幕的标记触发一个事件,您将使用该标记在应用程序中重新

我有一个ExtJS(版本4.1.1)应用程序,它只有一个JSP页面,但使用ExtJS组件创建了多个屏幕。单击浏览器中的“上一步”按钮时,我希望在应用程序中显示上次访问的屏幕,而不是使用浏览器的默认行为重定向到上次访问的网页

如何实现这一点?

您需要使用该类,该类旨在通过浏览器的“后退”和“前进”按钮跟踪导航。其基本思想是,当用户访问应用程序中的新屏幕时,您使用该屏幕的标识符令牌进行调用。然后,当用户单击浏览器的“后退”按钮时,将使用用户导航回的屏幕的标记触发一个事件,您将使用该标记在应用程序中重新显示该屏幕

ExtJS文档中有一个示例,说明了如何做到这一点。代码的关键部分如下所示:

function onTabChange(tabPanel, tab) {
    var newToken;

    // ... construct a token for the new tab ...

    oldToken = Ext.History.getToken();

    if (oldToken === null || oldToken.search(newToken) === -1) {
        Ext.History.add(newToken);
    }
}

// ...

Ext.History.on('change', function(token) {
    if (token) {
       // ... set active tab based on token ...
    }
});
如果应用程序中有很多屏幕,使用
Ext.util.History
通常需要设置很多样板文件,因此ExtJS 5添加了内置帮助管理这些内容。ExtJS4有一些扩展是为了完成同样的事情,比如Bruno Tavares