2012-10-31 120 views
4

我想检查是否在Ruby on Rails的页面加载时启用javascript和cookie。因此,如果有人试图打开它,网站应显示一条消息,表示他无法继续进行。检查在rails上的ruby中是否启用了javascript和cookie?

+0

可能的重复 - http://stackoverflow.com/questions/2315648/check-if-javascript-is-enabled-serverside-with-rails –

回答

2

您可以使用<noscript> ... </noscript>标签。欲了解更多信息请查看here

+0

有无论如何检查它在应用程序控制器? –

+0

根本没有。因为你必须先加载页面。 – simonmenke

0

如果您需要了解此服务器端,您可以通过JavaScript设置cookie。如果rails无法读取它,则比用户没有启用cookie或javascript。

0

<noscript>标记似乎不适用于脚本拦截器,如chrome ScriptSafe。对于这种情况,我找到了一个解决方法:创建一个警告消息,删除,以防javascript的效果。

这是使用id = “noscriptmessage” 警告消息:

<div id="noscriptmessage" style="color:red"> 
    This site requires javascript enabled! 
</div> 

而下面的脚本将删除该邮件,如果启动Javascript并没有阻止:

<script> 
document.getElementById("noscriptmessage").innerHTML=""; 
</script> 

确保脚本会在消息之后找到(例如,如果您在警报消息之前将脚本放在标题中,它将不起作用)。

+0

对不起,我错过了这个问题重复的提示:请参阅:[链接](http://stackoverflow.com/questions/2315648/check-if-javascript-is-enabled-serverside-with-rails)。用户“bobince”已经描述了相同的解决方案。您可能想要查看该页面以及其他大量可能的解决方案。 – Olli

相关问题