Backbone.js应用程序可以逐步增强,并可以被搜索引擎抓取吗?

时间:2011-10-18 09:53:18

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

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

(我计划将Rails用于服务器端代码)

2 个答案:

答案 0 :(得分:21)

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

第一部分介绍了问题和以前的解决方案,以及当前的解决方案: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和PushState的博客文章。该帖子的要点是:你不需要路由器:

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

希望有所帮助

答案 1 :(得分:-1)

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

然后是的,这是可能的。假设您有一个名为文章的模型,您可以通过以下URL访问一篇文章:

http://site.com/articles/1

然后你可以添加一个.xml

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

你会得到xml,因为Javascript可以解析xml。这是rails的默认设置。