使用Rails检测是否在视图中启用了javascript

时间:2014-04-30 21:31:46

标签: javascript ruby-on-rails

我只想在启用了javascript的情况下加载表单。

我希望这样做:

<% if javascript_enabled? %>
...form code...
<% else %>
  Please enable javascript
<% end %>

这样的事情可能吗?

1 个答案:

答案 0 :(得分:1)

您的方法存在的问题是,只有浏览器知道Javascript是否已启用,并且您尝试检查是否已启用rails(这是服务器解释代码)。有几种解决方法可以解决这个问题,但我通常在我的Rails应用程序中执行以下操作:

  1. 在页面内容的顶部添加<noscript>Please enable Javascript</noscript>
  2. 仅在启用Javascript时,在您希望显示的表单中设置display:nonevisibility:hidden属性样式。
  3. 包含将显示样式属性更改为&#34; block&#34;的Javascript代码。或者可见性#34;可见&#34;页面加载时。
  4. 这样,只有在启用Javascript时才会显示您的表单,并且只有在未启用Javascript时才显示请求启用Javascript的消息。

    最后,您可以使用Rails代码使所有这些变得尽可能简单。