Extjs 如何在浏览器刷新时使用选项卡维护页面状态
在ExtJs中,处理浏览器刷新的最佳方法是什么 比如说,我有一个有两个标签的页面a和B 选项卡A处于活动状态时的令牌为#mytoken/:someidforA 选项卡B处于活动状态时的令牌是#mytoken/:someidforB 刷新浏览器时,如何确保页面保持在同一选项卡中 我正在使用ExtJs5中的路由器做类似的事情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
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
的方法来保持页面刷新期间的状态