禁用Javascript时Ajax的整页重新加载

时间:2018-08-24 08:15:00

标签: javascript ajax jsf progressive-enhancement graceful-degradation

我正在使用JSF2。

我有一个按钮,该按钮调用一个动作,然后呈现页面的一部分(非常基本)

 <h:commandButton value="foo" action="#{myBean.myAction}" >
              <f:ajax execute="@form" render="#content" />
  </h:commandButton>

该网站必须可供残障人士使用,因此我需要在禁用JavaScript时支持浏览。

对我来说,最好的解决方案是禁用JS后重新加载页面。

我想到了在首页加载时设置cookie来说明js是否在这里,然后如果js在这里,则使用rendered =“ someBeanThatReadsCookies”来显示一个ajaxed按钮,如果不是,则使用一个普通按钮,但是我找到了这个解决方案丑陋的。

如果有人有更优雅的解决方案,我将很高兴。

我知道问题与该问题非常相似 Ajax fallback when Javascript is disabled

但是我没有找到满意的答案。我已经在使用commandButtons并禁用JS,只是使按钮什么也不做。

1 个答案:

答案 0 :(得分:1)

对于感兴趣的任何人,Bootsfaces库都可以提供我一直在寻找的行为。

 <b:container id="update-me" > 
       <b:commandButton value="button" ajax="true" update="update-me" action="#{barreOutilsControleur.fontSizePlus}"  >
       </b:commandButton>
 </b:container>

在禁用JS的情况下重新加载页面^^。