브라우저 창을 사용자가 볼 수 있는지 감지하는 방법이 있습니까? 나는 이것이 전에 물어 본 것을 안다. 그러나 내가 본 답변은 다음과 같은 문제로 고통 : visibilityChange
이벤트를 사용브라우저 창을 사용자가 볼 수 있는지 감지하는 방법이 있습니까?
. 이 방법의 문제점은 cmd + tab을 사용하여 응용 프로그램간에 전환 할 때 (적어도 Mac에서는)이 이벤트가 발생하지 않는다는 것입니다.
onBlur
및onFocus
이벤트를 사용하십시오. 이것들은 위의 문제를 해결합니다. 그러나 페이지 가시성이 변경되지 않을 때도 실행됩니다. 예를 들어 브라우저가 화면의 절반에서 열리고 다른 응용 프로그램이 다른 절반에서 열리는 경우 이들 사이를 전환하면 이러한 이벤트가 시작됩니다. 사용자가 항상 브라우저 창을 볼 수는 있습니다.onPageShow
및onPageHide
이벤트를 사용하면 이러한 것들이 가시성 작업에별로 도움이되지 않습니다. 예를 들어,onPageHide
은 페이지가 최소화되거나 cmd + 탭을 사용하여 전체 창을 차지하는 다른 응용 프로그램으로 전환 할 때 실행되지 않습니다.
위의 문제가 주어진 페이지가 사용자에게 표시되는지 확인하기위한 이상적인 솔루션은 무엇입니까?
감사합니다.
어떤 경우에 '창'이 보이지 않을 수 있습니까? – guest271314
@ guest271314 분명히 진술 한 것 같습니다. 모든 질문을 읽었습니까? – hcoat
@hcoat 예, 질문을 읽어보십시오. 아직 "보이는"것에 대해서는 확실하지 않지만 포함되거나 제외됩니까? 'window'가 열려 있으면'
' 요소에서'display'가'none'으로 설정되었지만'window'가 "visible"으로 간주되어야합니까? 'window' 차원이''1px''''''''''''''visible''으로 간주되어야합니까? 질문에 "가시적", "보이지 않음"의 예를 포함시킬 수 있습니까? – guest271314