【发布时间】:2013-01-31 15:19:20
【问题描述】:
我们的 PrimeFaces 3.4 应用程序运行良好,直到在 firefox 下进行了测试。但是,去测试之后,问题就出现了:
- 应用程序将仅在 IE 中启动 (IE 9)
- 应用程序在 frameset 内启动
我们在很多地方都使用p:autocomplete,包括对话框。在以下情况下,这些自动完成的面板通常不会在单击后显示:
- 在框架集内运行(在正常模式下很少发生)
- IE 开发人员工具已关闭(打开时很少发生,导致错误难以调试)
- 浏览器窗口未最大化
最后一点是我们观察的关键。解决方案是最大化浏览器(这可以工作,因为我们有大屏幕)或缩小内容。因此,我怀疑这是计算必须显示自动完成面板的位置的问题。该算法必须考虑几个条件,例如是否定位父级(对话框:位置固定),如果有滚动,偏移量是多少 - 这里的帧可能会搞砸一些事情。
但是,调试几乎不是一种选择,首先是因为没有官方的非最小化 primefaces.js,其次是因为打开 IE 开发人员工具会以某种方式阻止错误的发生。
在这种情况下,我想问自动完成是如何表现的,以及它如何受到拼图的任何元素的影响:框架集、对话框、IE 开发工具?
【问题讨论】:
-
您所说的开发人员工具表明代码中有杂散的
console.log()调用。当开发者控制台未打开时,这些可能会导致问题。 -
但控制台并非如此,无论如何,没有ie开发工具的屏幕最大化在“对抗”错误方面更有效
标签: javascript internet-explorer autocomplete primefaces frame