当有人禁用 JavaScript 时,Ruby on Rails 3.2 和 4.0 中是否有任何后备机制?
应用程序将如何反应,特别是在使用 ajax 请求时。它会回退到正常请求吗?
我问这个是因为我需要一个网站,它也可以处理来自文本浏览器的残疾人请求。
如果没有默认回退,有哪些策略。
当有人禁用 JavaScript 时,Ruby on Rails 3.2 和 4.0 中是否有任何后备机制?
应用程序将如何反应,特别是在使用 ajax 请求时。它会回退到正常请求吗?
我问这个是因为我需要一个网站,它也可以处理来自文本浏览器的残疾人请求。
如果没有默认回退,有哪些策略。
看到这个帖子。如果禁用 Javascript,则停止加载页面
一般来说,我真的不能在这里考虑任何后备机制 - 请注意,rails 完成的大部分请求实际上是 ajax 请求,因为不可能发送 PUT 或 DELETE(而不是删除请求,rails 发送 ajax post 请求与data: {"_method"="delete"}
)。
简而言之,对我来说禁用 JS 会严重破坏页面,我今天要测试它。
我对 RoR 的经验并不丰富,但我怀疑这更多的是你如何设计前端架构的问题。我有限的理解是 RoR 没有提供任何“开箱即用”的 javascript;它的默认状态是创建生成平面 HTML 的视图,您可以使用 JS 和 CSS 来修饰您喜欢的样式。
您的 HTML 应该这样编写,用户应该能够访问他们最感兴趣的所有内容,而不必依赖 JavaScript 来完成。这意味着您应该只使用 JS 来增强体验。用通用前端实践的语言,做渐进增强。
经过一番研究,我找到了答案:
Ruby on Rails 使用不显眼的 javascript 来实现这一点。如果禁用了 javascript,任何 Ajax 请求都会优雅地“降级”为正常的 POST 或 GET 请求。唯一不能开箱即用的操作是删除,因为它是唯一不完全被所有浏览器原生支持并且需要 js 的请求。
在该 railscast 中了解更多信息:http ://www.youtube.com/watch?v=t_MBLfrKTiE