firefoxでテストされるまで、非常に正常に動作していたPrimeFaces 3.4アプリケーションがあります。ただし、テストに行った後、問題が発生しました。
- アプリケーションは IE のみで起動されます (IE 9)
- アプリケーションはフレームセット内で起動されます
p:autocomplete
ダイアログを含む多くの場所で使用しています。次の場合、これらのオートコンプリートのパネルは通常、クリック後に表示されません。
- フレームセット内での実行 (通常モードではめったに発生しません)
- IE 開発者ツールが閉じられている (ツールが開いている場合はめったに発生しないため、バグのデバッグが困難になります)
- ブラウザ ウィンドウが最大化されていません
最後のことは、私たちの観察からの鍵です。解決策は、ブラウザーを最大化するか (画面が大きいためこれで問題ありません)、コンテンツをズームアウトすることです。したがって、オートコンプリート パネルを表示する必要がある位置の計算に問題があると思われます。アルゴリズムは、親が配置されているかどうか (ダイアログ: 位置が固定されている)、スクロールがあるかどうか、オフセットは何かなど、いくつかの条件を考慮に入れる必要があります。
ただし、デバッグはほとんどオプションではありません.1つ目は、最小化されていない正式なprimefaces.jsがないためです.2つ目は、IE開発者ツールを開くと、エラーの発生が何らかの形で停止するためです.
そのような状況下で、オートコンプリートがどのようにそのように動作するのか、またパズルの要素 (フレームセット、ダイアログ、IE 開発ツール) によってオートコンプリートがどのように影響を受けるのかを尋ねます。