【问题标题】:Can a Backbone.js app be progressively enhanced, and crawlable by search engines?Backbone.js 应用程序可以逐步增强,并且可以被搜索引擎抓取吗?
【发布时间】:2011-12-09 23:04:42
【问题描述】:

我需要为我的下一个项目实现一个 MVC JavaScript 框架,但它既是一个网站,也是一个 Web 应用程序。是否可以在服务器端公开数据,然后解析 URL 以显示“JS 版本”?

(我打算将 Rails 用于服务器端代码)

【问题讨论】:

    标签: javascript ruby-on-rails model-view-controller backbone.js


    【解决方案1】:

    我写了一个关于这个主题的小型博客系列......

    第一部分介绍问题和之前的解决方案,以及目前的解决方案:HTML5的PushState(历史API)

    http://lostechies.com/derickbailey/2011/09/26/seo-and-accessibility-with-html5-pushstate-part-1-introducing-pushstate/

    第 2 部分展示了如何对 Backbone 使用渐进增强,这样当您让服务器渲染 HTML 时,您可以让 Backbone 代码接管现有的 HTML 内容,而不是渲染新内容:

    http://lostechies.com/derickbailey/2011/09/26/seo-and-accessibility-with-html5-pushstate-part-2-progressive-enhancement-with-backbone-js/

    第 3 部分是我在一次会议上就该主题进行的演示(略显模糊)的视频:

    http://lostechies.com/derickbailey/2011/10/06/seo-and-accessibility-with-html5-pushstate-part-3-the-video/

    虽然它不是这个小系列的直接一部分,但我还写了一篇关于将路由器与 PushState 结合使用的博客文章。那篇文章的要点是:你不需要路由器:

    http://lostechies.com/derickbailey/2011/10/17/tips-for-using-backbone-js-routers-with-html5-pushstate/

    希望有帮助

    【讨论】:

      【解决方案2】:

      我不确定我是否正确理解了您的问题。我想你有一些数据,你想在服务器端使用 rails 处理它,然后将它提供给你的 javascript 并继续处理数据?对吗?

      那么是的,这是可能的。假设您有一个名为 article 的模型,并且您通过以下 url 访问一篇文章:

      http://site.com/articles/1

      然后你可以添加一个.xml

      http://site.com/articles/1.xml

      你会得到 xml 并且 JavaScript 可以解析 xml。这是rails的默认设置。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-10-10
        • 1970-01-01
        • 2010-11-13
        • 1970-01-01
        • 2020-10-03
        • 2011-01-03
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多