我刚开始使用crossroads.js和hasher.js,并且成功解析了我的大部分路线。我不明白的是如何回到页面的根目录。我知道我说的不对,但这是我的问题:
我导航到http://example.com,然后我看到了我需要查看的内容。
我将哈希更改为http://example.com/#/foo并执行更改 DOM 所需的操作。
我尝试在浏览器中单击返回,我在这里很糟糕。
也许我需要在十字路口定义“根”路线?我对历史做错了吗?
我刚开始使用crossroads.js和hasher.js,并且成功解析了我的大部分路线。我不明白的是如何回到页面的根目录。我知道我说的不对,但这是我的问题:
我导航到http://example.com,然后我看到了我需要查看的内容。
我将哈希更改为http://example.com/#/foo并执行更改 DOM 所需的操作。
我尝试在浏览器中单击返回,我在这里很糟糕。
也许我需要在十字路口定义“根”路线?我对历史做错了吗?
据我了解,您在两种设置中都处于中间状态(哈希器 + 十字路口)。
如果根模式匹配,则将具有“根”模式的路线添加到十字路口会触发为此路线定义的处理程序。处理程序调用显示根页面内容。
第二个问题是必须配置良好的哈希器。请参阅hasher doc上的 hasher.setHash() 和 hasher.replaceHash() 之间的区别。如果您想保留历史记录并使用浏览器返回功能,请使用 setHash。
整个过程将是:
准备 hasher 以便能够监听变化:
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
});