Ruby on Rails,Javascript检测

ste*_*ard 10 javascript ruby-on-rails

我正在创建一个Web应用程序,它使用Rails内置帮助程序函数向站点添加ajax功能.我不希望用户能够在没有JS的情况下使用该应用程序,因为它无法正常运行.

我需要能够阻止这种情况.如何在没有JS的情况下阻止用户加载我的任何页面?

我试图在我的布局中使用标签.这会检测到JS的缺失但仍会呈现视图.将脚本标记放在yield附近会阻止呈现任何视图.

关于如何做到这一点的任何想法?

Dar*_*o Z 22

您可以noscripthead元素中包含一个带有元刷新标记的块.例:

<head>
    <!-- title, scripts, css etc go here -->
    <noscript>
        <meta http-equiv="refresh" content="2;url=http://yoursite.com/nojswarning.html">
    </noscript>
</head>
Run Code Online (Sandbox Code Playgroud)

你可以在这里阅读有关元刷新的更多信息

希望这可以帮助

编辑:澄清一下noscript,只有在用户关闭JavaScript时标签才会运行.因此,在这种情况下,如果关闭JS,用户将被重定向到http://yoursite.com/nojswarning.html.当然,您可以将其更改为您想要的任何网站上的任何页面.