0

PrimeFaces 3.4firefox으로 테스트 될 때까지 아주 잘 작동하는 응용 프로그램이 있습니다. 그러나, 테스트 진행 후, 문제가 arised했다 :Primefaces : 자동 완성 패널이 IE에 자주 표시되지 않음

  • 응용 프로그램이 IE 전용 (IE 9)에 시작됩니다
  • 응용 프로그램은 우리가 p:autocomplete을 사용하는 프레임

안에 시작됩니다 대화를 포함한 많은 장소. 그 자동 완성에 대한 패널은 일반적으로 클릭 한 후 표시되지 않는 경우 :

  • (거의 표준 모드에서 발생하지 않습니다)
  • IE 개발자 도구가가 열릴 때 거의 하드 버그를 만드는 일이 없다 (폐쇄 프레임 내에서 실행 브라우저 창을

마지막 것은 최대되지

  • 디버그) 우리의 관찰에서 키입니다. 해결책은 브라우저를 최대화하거나 (큰 화면이있어서 작동 할 수 있음) 콘텐츠를 축소하는 것입니다. 따라서 자동 완성 패널을 표시해야하는 위치를 계산하는 것이 문제라고 생각됩니다. 알고리즘은 여러 조건을 고려해야합니다 (예 : 부모 위치 (대화 상자 : 위치 고정), 스크롤이있는 경우, 오프셋). 여기 프레임이 몇 가지 일을 망칠 수 있습니다.

    그러나 디버깅은 거의 옵션이 아닙니다. 처음에는 공식화되지 않은 primefaces.js가 없기 때문입니다. 두 번째는 IE 개발자 도구를 열면 오류가 발생하지 않기 때문입니다.

    그런 상황에서 나는 자동 완성이 그런 방식으로 어떻게 동작 할 수 있는지 그리고 퍼즐의 어떤 요소 (프레임 셋, 대화, IE 개발 도구)가 어떻게 영향을받을 수 있는지 묻습니다.

  • +0

    개발자 도구에 대해 말하는 것은 코드에 길잃은'console.log()'호출이 있음을 나타냅니다. 개발자 콘솔이 열려 있지 않은 경우 문제가 발생할 수 있습니다. – Pointy

    +0

    하지만 콘솔에서는 그렇지 않습니다. 어쨌든 dev 툴없이 화면을 최대화하면 버그를 '싸우는'데 더 효율적입니다 –

    답변

    0

    은 관련과 : IE8 and Primefaces p:selectOneMenu misbehave when having a lots of p:selectOneMenu in a form

    문제는가 visibility:hidden에 의존 PrimeFaces 치수 계산을 많이 할 것입니다. 보이지 않는 구성 요소가 페이지 경계를 벗어 났을 때 IE는 가정 한대로 치수를 계산하지 않았습니다.

    body { overflow-y:scroll; } 
    

    이이 프레임이 (적은 장소)를 사용하거나 때 문제가 종종 보였다 왜 질문에 대한 답 : 나는 렌더링 엔진, 단순히 항상 스크롤이 문제를 해결 활성화 PrimeFaces의 세부 사항에 사라하지 않은 왜 브라우저를 최대화하는 것이 도움이 되었습니까?

    관련 문제