我遇到Backbone Router和pushState的问题。
这是我的路由器:https://gist.github.com/1672111
好吧,我有几个视图,模型,集合,带pushState的路由器,它就像魅力一样。
如果用户转到/item
(甚至转到根(/
)),Nodejs将呈现整个页面(我们不知道,用户启用了javascript或googlebot来抓页)。
但是如果用户启用了javascript,则会触发Backbone路由并从ajax调用中重新呈现该页面。我知道这是(ajax电话)必要的,但我该怎么办?
在视图中,我应该拨打$( this.el ).hide()
来隐藏重新渲染吗?
在服务器端,我不应该只渲染主要内容的布局吗?在这种情况下,我必须为googlebot提供不同的内容,只为普通用户提供布局? (恕我直言,不是最佳解决方案)
最后,我必须将render方法绑定到模型更改事件,因为ie8用户没有pushstate,所以他们使用基于哈希的导航,而不是发送到服务器端。
谢谢
仅供参考:这是来自backbonejs邮件列表的交叉链接:https://groups.google.com/group/backbonejs/browse_thread/thread/17c708f4429dcd73