2011-05-06 85 views
0

在过去,我开发了大型extjs单页应用程序。许多用户因无法使用Back或Fwd按钮或重新加载页面而感到沮丧。我还想警告用户,如果他们离开页面而离开页面而没有完成工作流程,并且允许用户直接访问特定视图。ExtJs返回转发按钮

对于下一个应用程序,我想使用Codeigniter php MVC框架。这可能类似于这个example。我思考着导航问题。如果我为每个视图加载ExtJs,那是显着的放缓。 如何最好地解决这个问题?

回答

3

看看Ext.History类(Ext.util.History on Ext4)。有了它你可以更改到散列寄存器听众:

Ext.History.on('change', function(token) { 
    console.log('token changed to: ', token); 
}); 

的Ext.History单包括向前()和背面()方法用于从所述客户端代码内触发导航。

通过只改变URL的哈希部分,浏览器保持在同一页面上,因此无需重新加载Ext库。

这将如何与您的PHP框架集成,我不能说。我不熟悉CodeIgniter,并且您的示例链接转到了死网页。

此外,请注意在Ext3下的历史记录警告,至少它可能会给你更新的浏览器的问题。如果是这种情况,另一种方法是使用“hashchange”浏览器事件编写自己的历史类解决方案,如this answer中所示。