2

我对主干路由器和 pushState 有疑问。

这是我的路由器:https ://gist.github.com/1672111

好吧,我有几个视图、模型、集合、带有 pushState 的路由器,它就像魅力一样。

如果用户转到/item(甚至是 root ( /)),Nodejs 将呈现整个页面(我们不知道,用户启用了 javascript 还是 googlebot 来抓取页面)。

但是如果用户启用了 javascript,那么 Backbone 路由将被触发,并且页面将从 ajax 调用中重新呈现。我知道它(ajax 调用)是必要的,但我该怎么办?

  1. 鉴于我应该打电话$( this.el ).hide()隐藏重新渲染?

  2. 在服务器端,我不应该只呈现布局的主要内容吗?在这种情况下,我必须为 googlebot 提供不同的内容,而只为普通用户提供布局?(恕我直言不是最好的解决方案)

最后,我必须将渲染方法绑定到模型更改事件,因为 ie8 用户没有 pushstate,所以他们使用基于散列的导航,它不会发送到服务器端。

谢谢

仅供参考:这是来自backbonejs邮件列表的交叉邮件:https ://groups.google.com/group/backbonejs/browse_thread/thread/17c708f4429dcd73

4

0 回答 0