javascript - 禁用 Javascript 时重新加载 ajax 的整页

标签 javascript ajax jsf progressive-enhancement graceful-degradation

我正在使用 JSF2。

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

 <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 时重新加载页面 ^^。

关于javascript - 禁用 Javascript 时重新加载 ajax 的整页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52000177/

相关文章:

javascript - ajax发布错误: internal error 500 on post method

jquery - 如何从返回的 jQuery Ajax 数据中获取 Rails 变量?

jsf - java.lang.NoSuchMethodError : javax. faces.component.UIComponent.getPassThroughAttributes(Z)Ljava/util/Map;迁移到 JSF 2.2 后

java - 导航案例在 JSF 中不起作用

javascript - 使用 SocketIO 中的房间查找用户状态

javascript - 关于文本区域的更改 - ajax post

javascript - 的作用是什么? JavaScript 中的语法是什么意思?

javascript - 获取 "remember"选项以匿名使用 Firebase 身份验证

jquery - 用jquery-ajaxq实现重试逻辑的最佳方法是什么?

java - JSF2 : commandLink without javascript