已停用JavaScript的RoR

时间:2013-09-25 14:17:36

标签: javascript ruby-on-rails ruby-on-rails-3.2 ruby-on-rails-4

当有人禁用JavaScript时,Ruby on Rails 3.2和4.0中是否有任何回退机制?

应用程序如何做出反应,特别是在使用ajax请求时。它会回退到正常的请求吗?

我问这个是因为我需要一个网站,它也可以处理来自文本浏览器的残疾人请求。

如果没有默认回退,有哪些策略。

3 个答案:

答案 0 :(得分:1)

看这篇文章。 Stop loading the page if Javascript is disabled

一般来说,我不能真正考虑这里的任何回退机制 - 请注意,rails完成的大部分请求实际上是ajax请求,因为不可能发送PUT或DELETE(而不是删除请求,rails发送带有data: {"_method"="delete"})的ajax发布请求。

简而言之,对我来说,禁用JS会严重破坏页面,我今天对它进行了测试。

答案 1 :(得分:1)

我对RoR没有很好的经验,但我怀疑这更像是一个如何设计前端架构的问题。我有限的理解是RoR没有提供任何“开箱即用”的javascript;它的默认状态是创建生成平面HTML的视图,你可以用JS和CSS来装扮它。

您的HTML应该被编写为使用户能够访问他们最感兴趣的所有内容,而不必依赖JavaScript来执行此操作。这意味着您应该只使用JS来增强体验。在常见的前端练习语言中,执行渐进增强

答案 2 :(得分:0)

经过一番研究后我找到了答案:

Ruby on Rails使用不引人注目的javascript来实现这一目标。如果禁用javascript,任何Ajax请求将优雅地“降级”为正常的POST或GET请求。唯一不会开箱即用的操作是删除,因为它是本地所有浏览器都不完全支持并且需要js的唯一请求。

在该railscast中了解更多相关内容:http://www.youtube.com/watch?v=t_MBLfrKTiE