Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查Javascript是否可用,并重定向到其他页面_Javascript_Ruby On Rails - Fatal编程技术网

检查Javascript是否可用,并重定向到其他页面

检查Javascript是否可用,并重定向到其他页面,javascript,ruby-on-rails,Javascript,Ruby On Rails,在我的rails站点中,所有页面都需要javascript。如果未启用,则每个页面都将失败 我想做的是,如果没有启用javascript,我想将它们重定向到另一个静态页面——要求用户首先启用javascript。我希望所有页面都出现这种情况。可能吗 我曾尝试将代码放入我的应用程序控制器中,并检查了一些情况,但有些情况并没有发生。。rails中有没有标准的解决方案。。可能是帮手什么的 只需使用元素显示链接:您的浏览器不支持脚本编写。请使用。没有脚本的用户可能很少,因此不值得在这些功能上花费太多时间

在我的rails站点中,所有页面都需要javascript。如果未启用,则每个页面都将失败

我想做的是,如果没有启用javascript,我想将它们重定向到另一个静态页面——要求用户首先启用javascript。我希望所有页面都出现这种情况。可能吗


我曾尝试将代码放入我的应用程序控制器中,并检查了一些情况,但有些情况并没有发生。。rails中有没有标准的解决方案。。可能是帮手什么的

只需使用
元素显示链接:
您的浏览器不支持脚本编写。请使用
。没有脚本的用户可能很少,因此不值得在这些功能上花费太多时间。

只需使用
元素显示一个链接:
您的浏览器不支持脚本。请使用
。没有脚本的用户很可能很少,因此不值得在这些功能上花费太多时间。

我成功使用的一种技术是让访问的第一个页面(通常是登录表单)在页面加载时使用JavaScript编写会话cookie。然后让表单提交的控制器检查cookie是否存在。如果它不存在,那么您就知道JavaScript不可用,您可以采取适当的措施。

我成功使用的一种技术是让登录表单访问的第一个页面在页面加载时使用JavaScript编写会话cookie。然后让表单提交的控制器检查cookie是否存在。如果它不存在,那么您知道JavaScript不可用,您可以采取适当的措施。

根据您的喜好更改url:'NOSCRIPT.HTML'

<noscript>
    <meta http-equiv="refresh" content="0;URL=NOSCRIPT.HTML" />
</noscript>

注意:这不是有效的HTML,但是对于这个特定的功能请求,这是唯一的一个。我可以告诉人们如何正确地做这件事,但有时当客户对你垂涎三尺,需要一个实用的低成本解决方案时,正确并不是一个选项;)


这就是说,渐进式增强是正确的做法,显示启用javascript的消息无疑是通知访问者。。很好地启用JavaScript。

根据您的喜好更改url:'NOSCRIPT.HTML'

<noscript>
    <meta http-equiv="refresh" content="0;URL=NOSCRIPT.HTML" />
</noscript>

注意:这不是有效的HTML,但是对于这个特定的功能请求,这是唯一的一个。我可以告诉人们如何正确地做这件事,但有时当客户对你垂涎三尺,需要一个实用的低成本解决方案时,正确并不是一个选项;)


这就是说,渐进式增强是正确的做法,显示启用javascript的消息无疑是通知访问者。。很好地启用JavaScript。

作为NoScript用户,我发现这些重定向非常烦人。如果我决定,是的,我想允许这个网站使用JavaScript,我只想在我的浏览器中点击“允许JavaScript”图标,这将重新加载当前页面。对于重定向,我需要另一个步骤

我所做的是在页面顶部放置一些类似的代码:

<div class='warning' id='js-warning'>
  Sorry, this page really requires JavaScript to be useful.
  … maybe a little more text on why …
</div>
<script language='JavaScript'>$('js-warning').hide()</script>

抱歉,这个页面确实需要JavaScript才有用。
…也许再多发一点文字说明为什么…
$('js-warning').hide()

作为NoScript用户,我发现这些重定向非常烦人。如果我决定,是的,我想允许这个网站使用JavaScript,我只想在我的浏览器中点击“允许JavaScript”图标,这将重新加载当前页面。对于重定向,我需要另一个步骤

我所做的是在页面顶部放置一些类似的代码:

<div class='warning' id='js-warning'>
  Sorry, this page really requires JavaScript to be useful.
  … maybe a little more text on why …
</div>
<script language='JavaScript'>$('js-warning').hide()</script>

抱歉,这个页面确实需要JavaScript才有用。
…也许再多发一点文字说明为什么…
$('js-warning').hide()

我想将他们重定向到一个页面,在那里我可以清楚地向他们展示如何为站点启用javascript。大多数禁用了javascript的用户已经锁定了浏览器,没有重新启用它所需的权限。事实上,我不认为任何人只是根据自己的选择禁用脚本。要么他们是超级用户,使用NoScript,因此不需要您的指导,或者被他们的管理员禁用。我想将他们重定向到一个页面,在那里我可以清楚地向他们展示如何为站点启用javascript。大多数禁用javascript的用户已经锁定了浏览器,没有重新启用它所需的权限。的确,我不认为任何人只是根据自己的选择禁用脚本。他们可能是超级用户,使用NoScript,因此不需要您的指导,也可能是他们的管理员对他们禁用了它。但是,如果您在之后禁用JS,cookie将保持不变:)我建议让cookie在一段时间后“过期”,并使用新值重新创建它。但是我会在这里使用noScript标记,它更加标准化,基本上这就是它存在的目的。但是如果在之后禁用JS,cookie将保持不变:)我建议让cookie在一段时间后“过期”,并使用新值重新创建它。但是我会在这里使用noScript标签,它更加标准化,基本上这就是它存在的目的。为了整洁起见,我会把它放在头部。但在文档中的任何位置都有效;)在实施此解决方案时,请记住,搜索引擎可以解释这些元标记,这可能会对您的页面如何在谷歌和其他搜索引擎中结束产生严重影响。这个页面:(搜索“谷歌如何对待“元刷新”重定向?”)似乎表明谷歌将解释为重定向。在这种情况下,NOSCRIPT.HTML页面的内容将在索引中结束。显然,渐进式增强比这些解决方案中的任何一种都好,但是如果这是针对不需要搜索引擎索引的应用程序