【问题标题】:Keeping state when rendering page from the server side从服务器端渲染页面时保持状态
【发布时间】:2013-01-03 09:55:59
【问题描述】:

我目前正在使用backbone.js 构建一个单页应用程序

为了保持所有应用程序页面可访问和可抓取,我确保服务器端在直接访问页面时也可以呈现页面。

问题如下: 当 pushState 不可用时,它使用当前 URL 启动路由器(例如,如果我使用 http://example.com/example 访问 url,路由器将在该 url 之上构建哈希片段)

所以:

  1. 有没有办法处理这个问题(除了重定向使用)
  2. 如果您在 JS 后立即进行重定向(使用 pushState 功能检测),您仍然会遇到 url 没有井号的问题。

一般来说,有没有更好的方法来设计这种应用程序?

谢谢!

【问题讨论】:

    标签: backbone.js pushstate singlepage


    【解决方案1】:

    如果 SEO 友好的浏览对您很重要,我认为不断发展的共识是 pushstate 或什么都不是(即降级 web 1.0 并一起放弃 hash-bang 路由)。

    我不使用 Backbone.js 而只使用 PJAX 的原因之一是 pushstate 和 DOM 渲染时间非常好,您可以使用很少的 JS 和 hash-bang 成为单页路由一直是相当骇人听闻的。

    因此,一个选项是不一起使用 Backbone 的路由器,而让 PJAX(或 DJAX 或类似的东西)之类的东西做路由工作,让 Backbone 只做内页事件/渲染的东西(即验证表单、模式窗口, 等等..)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-11-22
      • 1970-01-01
      • 2020-01-27
      • 2016-04-03
      • 2017-05-26
      • 2020-09-13
      • 2019-08-17
      • 2020-01-17
      相关资源
      最近更新 更多