【问题标题】:Check whether javascript and cookies are enabled in ruby on rails?检查是否在 ruby​​ on rails 中启用了 javascript 和 cookie?
【发布时间】:2012-10-31 11:43:51
【问题描述】:

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

【问题讨论】:

标签: ruby-on-rails


【解决方案1】:

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

【讨论】:

  • 有没有办法在应用程序控制器中检查它?
  • 一点也不。因为你必须先加载一个页面。
【解决方案2】:

如果你需要知道这个服务器端,你可以通过javascript设置一个cookie。如果 rails 无法读取它,则说明用户没有启用 cookie 或 javascript。

【讨论】:

    【解决方案3】:

    <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>
    

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

    【讨论】:

    • 抱歉,我错过了这个问题重复的提示:请参阅:link。那里的用户“bobince”描述了相同的解决方案。您可能想查看该页面以及大量其他可能的解决方案。
    猜你喜欢
    • 1970-01-01
    • 2012-10-24
    • 2011-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-03
    • 2013-09-26
    • 2011-04-02
    相关资源
    最近更新 更多