我最近开始使用knockout.js和sammy.js来改进我的应用程序.但是我遇到了一些问题.
我在页面上有一些有效的链接 – 用户应该实际导航到该位置,而不是使用sammy.js模仿导航行为.我只想通过sammy.js路由基于散列的链接,但它也会拦截不包含任何哈希的链接.
例如,它拦截< a href =“/ logout”> logout< / a>.
路由的js部分是:
Sammy(function () { this.get('#/',function () { ... }); this.get('#:id',function () { ... }); this.get('',function () { this.app.runRoute('get','#/') }); }).run();
我认为this.get(”..)部分是调用此行为的罪魁祸首 – 我从knockout.js教程得到它,该教程说该行是必要的,以允许其他来源的用户正确浏览我的网页. knockout.js代码运行的页面是/ w /.我希望sammy.js只能在/ w /中工作,或者至少允许用户导航到/注销.我怎么能做到这一点?
解决方法
自从我使用Sammy以来已经有一段时间了,但我认为您可以使用
disable_push_state
设置关闭此行为:
Sammy(function() { this.disable_push_state = true; ... });