Backbone.js 从服务器端呈现页面时保持状态
我目前正在使用backbone.js构建一个单页应用程序 为了使所有的应用程序页面都可以访问和爬网,我确保服务器端在直接访问页面时也可以呈现页面 问题如下: 当pushState不可用时,它使用当前URL启动路由器(例如,如果我使用路由器访问URL,则会在该URL上构建哈希片段) 因此:Backbone.js 从服务器端呈现页面时保持状态,backbone.js,pushstate,singlepage,Backbone.js,Pushstate,Singlepage,我目前正在使用backbone.js构建一个单页应用程序 为了使所有的应用程序页面都可以访问和爬网,我确保服务器端在直接访问页面时也可以呈现页面 问题如下: 当pushState不可用时,它使用当前URL启动路由器(例如,如果我使用路由器访问URL,则会在该URL上构建哈希片段) 因此: 是否有任何处理方法(除了重定向使用之外) 如果您在JS(使用pushState功能检测)后立即重定向,您仍然会遇到URL没有哈希符号的问题 一般来说,有没有更好的方法来设计这种应用程序 谢谢如果SEO友好型浏览
谢谢如果SEO友好型浏览对你来说很重要,我认为逐渐形成的共识是“推送状态”或“不推送”(即降低Web1.0的性能,同时放弃哈希爆炸式路由) 我之所以不使用Backbone.js而只使用PJAX是因为pushstate和DOM呈现时间非常好,只需很少的js就可以成为一个页面,而hash-bang路由一直都相当粗糙 因此,一种选择是不同时使用主干网的路由器,只让PJAX(或DJAX或类似的东西)做路由工作,让主干网只做内部页面事件/呈现工作(即验证表单、模式窗口等)