我们有PrimeFaces 3.4应用程序,它在firefox下测试之前运行良好。但是,在去测试之后,问题就出现了:
- 应用程序将仅在 IE 中启动 (IE 9)
- 应用程序在框架集中启动
我们p:autocomplete
在很多地方都在使用,包括对话框。在以下情况下,单击后通常不会显示这些自动完成的面板:
- 在框架集内运行(在正常模式下很少发生)
- IE 开发者工具关闭(打开时很少发生,使得 bug 难以调试)
- 浏览器窗口未最大化
最后一点是我们观察的关键。解决方案是最大化浏览器(这可以工作,因为我们有大屏幕)或缩小内容。因此,我怀疑这是计算必须显示自动完成面板的位置的问题。该算法必须考虑几个条件,例如是否定位父级(对话框:位置固定),如果有滚动,偏移量是多少 - 这里的帧可能会搞砸一些事情。
但是,调试几乎不是一种选择,首先是因为没有官方的非最小化 primefaces.js,其次是因为打开 IE 开发人员工具以某种方式阻止了错误的发生。
在这种情况下,我想问自动完成如何表现得如此,以及它如何受到拼图的任何元素的影响:框架集、对话框、IE 开发工具?