【问题标题】:JSF and Browser Issues?JSF 和浏览器问题?
【发布时间】:2011-03-18 09:32:56
【问题描述】:
我正在使用没有 tomahawk 和其他库的 JSF 1.2。 JSF Applicin 在 IE7 中运行良好,但存在问题 - 输入控件未启用(对于 Firefox 3.0.3)以及 commandButtons 的渲染和禁用属性在 IE8 中不起作用。我正在使用简单的 javascript 和 css 在客户端进行一些验证和条件显示。为不同的浏览器编写 JSF 应用程序时是否存在任何已知问题?您可以为这些问题提供任何建议吗?感谢您的帮助。
JSF and Browser Thread in Sun Forum
【问题讨论】:
标签:
firefox
jsf
internet-explorer-8
cross-browser
【解决方案1】:
如果您遇到特定于浏览器的问题,则很可能是所使用的生成的或自行开发的 JavaScript 或 CSS 存在错误。 JSF 所做的只是生成和发送 HTML/CSS/JS,而所有 webbrowser 检索和理解的都是 HTML/CSS/JS。
如果您在生成的 HTML/CSS/JS 中遇到错误(虽然这种情况非常罕见),但在最新的 JSF 实现版本中尚未修复,那么您最好的办法就是将其报告给 JSF impl男孩们。至少,众所周知,Mojarra 男孩非常重视客户端问题。我记得关于 Mojarra 的最后一个严重问题是与 Safari/Webkit 相关的 bug 和 document.forms[formname],但这已经在 2 年前修复了。
回到rendered、disabled 和readonly 属性的具体问题:这些问题通常也是由于没有正确理解 HTTP 请求/响应的生命周期(请求范围)和/或 JSF 生命周期(在应用请求值期间也会检查这些属性)和/或客户端和服务器端之间的隔离墙(如果不自己作为 HTTP 请求参数发送/处理,则无法单独使用 JavaScript 更改它们)。这与网络浏览器无关。
【解决方案2】:
问题是,我使用了一个带有 position:absolute css 属性的 DIV 标签,这使得 firefox 浏览器(3.0 到 3.6)被冻结。这不是由于 JSF 实现。当我解决了这些问题时,一切都很好。