Javascript 使用crossroads.js和hasher.js返回根页面

Javascript 使用crossroads.js和hasher.js返回根页面,javascript,url-routing,single-page-application,crossroadsjs,Javascript,Url Routing,Single Page Application,Crossroadsjs,我刚刚开始,并且已经成功解析了我的大部分路线。我不明白的是如何回到页面的根。我知道我说的不对,但我的问题是: 我导航到并看到我需要看到的内容 我将散列更改为,并执行更改DOM所需的操作 我试着在浏览器中单击后退,我在这里很糟糕 也许我需要定义十字路口的“根”路线?我的历史记录有问题吗?据我所知,在这两种设置(哈希+十字路口)中,您都做了一半 如果根模式匹配,将具有“根”模式的路由添加到crossroads会触发为此路由定义的处理程序。处理程序调用显示根页面内容 第二个问题是哈希器,它必须配置良好

我刚刚开始,并且已经成功解析了我的大部分路线。我不明白的是如何回到页面的根。我知道我说的不对,但我的问题是:

  • 我导航到并看到我需要看到的内容

  • 我将散列更改为,并执行更改DOM所需的操作

  • 我试着在浏览器中单击后退,我在这里很糟糕


  • 也许我需要定义十字路口的“根”路线?我的历史记录有问题吗?

    据我所知,在这两种设置(哈希+十字路口)中,您都做了一半

    如果根模式匹配,将具有“根”模式的路由添加到crossroads会触发为此路由定义的处理程序。处理程序调用显示根页面内容

    第二个问题是哈希器,它必须配置良好。请参阅上hasher.setHash()和hasher.replaceHash()之间的差异。如果要保留历史记录并使用浏览器后退功能,请使用setHash

    整个过程将是:

  • 通过hasher.setHash(新的\u散列\u值)更改URL,在导航栏中手动输入URL或使用浏览器中的“后退”按钮
  • 散列程序识别散列已经更改,并触发交叉点以进一步处理新URL
  • crossroads解析新哈希并调用显示根页面(这需要具有根哈希模式的路由)
  • 准备哈希程序以便能够侦听更改:

    function parseHash(newHash, oldHash){
      crossroads.parse(newHash);
    }
    
    hasher.initialized.add(initialParse); //parse initial hash
    hasher.changed.add(parseHash); //parse hash changes
    hasher.init(); //start listening for hash changes
    
    当然,还要为根页面定义路由,以便能够显示根内容:

    crossroads.addRoute("", function() {
         // call displaying root page
      });
    

    据我所知,您在这两种设置(哈希器+十字路口)中都处于一半

    如果根模式匹配,将具有“根”模式的路由添加到crossroads会触发为此路由定义的处理程序。处理程序调用显示根页面内容

    第二个问题是哈希器,它必须配置良好。请参阅上hasher.setHash()和hasher.replaceHash()之间的差异。如果要保留历史记录并使用浏览器后退功能,请使用setHash

    整个过程将是:

  • 通过hasher.setHash(新的\u散列\u值)更改URL,在导航栏中手动输入URL或使用浏览器中的“后退”按钮
  • 散列程序识别散列已经更改,并触发交叉点以进一步处理新URL
  • crossroads解析新哈希并调用显示根页面(这需要具有根哈希模式的路由)
  • 准备哈希程序以便能够侦听更改:

    function parseHash(newHash, oldHash){
      crossroads.parse(newHash);
    }
    
    hasher.initialized.add(initialParse); //parse initial hash
    hasher.changed.add(parseHash); //parse hash changes
    hasher.init(); //start listening for hash changes
    
    当然,还要为根页面定义路由,以便能够显示根内容:

    crossroads.addRoute("", function() {
         // call displaying root page
      });