【问题标题】:Maintaining History Stack for SPA based web applications为基于 SPA 的 Web 应用程序维护历史堆栈
【发布时间】:2014-01-21 04:41:46
【问题描述】:

在使用基于 SPA 的 Web 应用程序时如何处理历史堆栈?我可以让我的自定义堆栈来跟踪访问过的页面,但由于我只是隐藏/显示 divs ,并且操作“历史”对象需要推入 URL,我无法理解如何处理情况?

URL 将始终保持如下形式:http://mywebapplication/# 我无法将任何 URL 推送到 history 堆栈中,因为对于显示的所有 divs,URL 保持不变。即使我能够以某种方式实现相同的目标,我认为覆盖浏览器的后退按钮也不应该被视为一种好习惯?

请建议如何处理这种情况。

【问题讨论】:

    标签: html single-page-application


    【解决方案1】:

    为了跟踪您浏览的 div,您需要某种路由解决方案。您可以使用Crossroads 注册和管理您的路线。每个路由都应该有一个处理程序,它可以在您的单个页面中启用适当的 div。

    var route1 = crossroads.addRoute('/page1/', function(id){
      //enable div for page1 route
    });
    

    然后,您可以使用Hasher 来管理浏览器历史记录。

    【讨论】:

      猜你喜欢
      • 2015-08-06
      • 2013-09-20
      • 2011-02-15
      • 2016-11-28
      • 2010-12-13
      • 1970-01-01
      • 1970-01-01
      • 2012-06-06
      • 1970-01-01
      相关资源
      最近更新 更多