我在backbone.js学习,我喜欢路由系统。但是,我网站的所有用户都可以看到请求,例如:http://example.com/#/projects
等等。
如何从浏览器的网址栏隐藏路由,但使用那个很酷的主干功能?
答案 0 :(得分:2)
我不是100%确定你想要什么,但是如果你要求删除你域名之后的所有内容 并将http://mysite.com保留在地址栏中,没有哈希(#projects / 10)我认为你会失望。
据我所知,你不能删除它,因为历史记录和路由依赖于这些哈希值,由于url的那一部分,它知道你想要获取哪条路径。
但是,可以删除/#/ part ...并使其成为http://mysite.com/projects
为此你需要在路由器中使用pushstate,如下所示:
Backbone.history.start({pushState: true});
答案 1 :(得分:0)
您可以将整个网站放在页面的100%宽度/高度的iframe中,并让地址栏始终显示根网址...
它会起作用,虽然它会杀死路线背后的整个想法,这些想法可以让用户直接使用URL快速访问应用程序的所有状态,并使你的应用程序中的任何路径都可以添加书签和共享。
虽然最后这是你的电话:)如果你认为这是你的应用的赌注 - 你最了解!