0

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

说,我有一个带有两个选项卡A和B的页面, 而当tab a处于活动状态时,我是#mytoken/:someidfora和token当tab b as actibe为#mytoken/:SomeDiDforB时

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

我正在使用 ExtJs5 中的路由器做这样的事情

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

在 ViewControllers 内部 -

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

}

这是一个好方法吗?

4

1 回答 1

2

我会亲自使用记录在案的路线

例子:

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来保持页面刷新之间的状态

于 2015-03-06T13:04:26.123 回答