【发布时间】:2011-09-07 21:47:48
【问题描述】:
我的 Rails 3 应用程序中的许多页面都是由小部件组成的。例如,有一个带有 url /users/12 的用户页面调用用户控制器显示操作。此页面加载对提要控制器进行 ajax 调用的提要小部件,以便为用户获取所有提要项目。
所以让我们假设用户执行以下操作:
1) 在浏览器中输入http://mydomain.com/users/12
2) 点击“今天的帖子”按钮来查看今天的帖子(这会触发对返回帖子的提要控制器的 ajax 调用
3) 输入http://google.com
处理浏览器历史记录和后退按钮的推荐方法是什么?
我想我需要做的是存储足够的状态信息,以便当用户单击后退按钮时,浏览器会加载 users/12 页面,然后再次单击今天的过滤器按钮。实现这一点的最佳方法是什么?
我可以存储一个指向要调用的函数的指针:
History.pushState({"function_name": "restoreUserHomePage"}, "", /users/12/feed?time=today);
坏主意?好主意?
还有什么是注册 stateChanged(HTML5 中的 popState)事件的“正确”方式。可能我的每个页面都有一组不同的小部件。
感谢您的帮助。
【问题讨论】:
标签: javascript ajax ruby-on-rails-3 back-button