Extjs 如何在浏览器刷新时使用选项卡维护页面状态

Extjs 如何在浏览器刷新时使用选项卡维护页面状态,extjs,single-page-application,extjs5,browser-refresh,Extjs,Single Page Application,Extjs5,Browser Refresh,在ExtJs中,处理浏览器刷新的最佳方法是什么 比如说,我有一个有两个标签的页面a和B 选项卡A处于活动状态时的令牌为#mytoken/:someidforA 选项卡B处于活动状态时的令牌是#mytoken/:someidforB 刷新浏览器时,如何确保页面保持在同一选项卡中 我正在使用ExtJs5中的路由器做类似的事情 window.onbeforeunload = function() { token = // get history token MyApp.getCont

在ExtJs中,处理浏览器刷新的最佳方法是什么

比如说,我有一个有两个标签的页面a和B 选项卡A处于活动状态时的令牌为#mytoken/:someidforA 选项卡B处于活动状态时的令牌是#mytoken/:someidforB

刷新浏览器时,如何确保页面保持在同一选项卡中

我正在使用ExtJs5中的路由器做类似的事情

window.onbeforeunload = function() {
    token = // get history token
     MyApp.getController('Main').redirectTo(token);
}
在ViewController中-

routes: {
    "#mytoken/:someidforA" : "loadA",
    "#mytoken/:someidforB" : "loadB" 

}

这是一个好方法吗?

我个人会使用

例如:

Ext.define('MyApp.view.main.MainController', {
    extend : 'Ext.app.ViewController',

    routes : {
        'user/:id' : 'onUser'
    },

    onUser : function(id) {
        //...
    }
});
您还可以使用
defaultToken
属性定义默认路由:

defaultToken : 'home'
看起来您已经在使用其中的一些功能了。如果URL类似于example.com/#user/4,那么页面刷新应用程序可以像以前一样处理此路由,并显示相同的页面/部分

要恢复刷新前打开的所有选项卡,您可能必须考虑使用类似于
localstorage
的方法来保持页面刷新期间的状态