当 Javascript 被禁用时 ajax 的整页重新加载

Full page reaload for ajax when Javascript is disabled

我正在使用 JSF2。

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

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

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

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

我想在第一个页面加载时设置一个 cookie,说明 js 是否在这里,然后使用 rendered="someBeanThatReadsCookies" 来显示一个 ajaxed 按钮(如果 js 在这里),如果没有则显示一个普通按钮,但我发现这个解决方案有点难看。

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

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

但是我觉得给定的答案并不令人满意。我已经在使用 commandButtons 并禁用 JS 只是让按钮什么都不做。

对于任何感兴趣的人,Bootsfaces 库提供了我正在寻找的行为。

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

它会在禁用 JS 时重新加载页面 ^^。