Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

동영상 전체화면 이후 다른 콘텐츠 실행 시 전체 화면으로 나타나는 이슈 #337

Open
onlyeye26 opened this issue Aug 26, 2024 · 3 comments

Comments

@onlyeye26
Copy link

  1. 실행 환경 : 로컬
  2. 현상
  1. 현상 파일 다운로드 : http://wepub.co.kr:8080/sales/test/download/고등 사회와 문화 전자저작물.zip
@vulcan9
Copy link
Owner

vulcan9 commented Aug 29, 2024

본 이슈는 직지 바인더 관련 이슈 입니다.
비디오 배경 클릭시 발생되는 문제는 #338 이슈 참고하세요

재연

직지 바인더에서 실행시 나타나는 현상임

  1. 바인더에서 페이지를 maximize 창 크기로 띄움
    (비디오 요소와 새창 띄우기 링크를 페이지에 배치)

  2. 비디오의 전체화면(fullscreen) 버튼을 눌러 비디오를 전체화면으로 띄움

  3. 다시 비디오의 화면 축소 버튼을 눌러 원래 크기 (maximize 창크기 상태)로 되돌아 옴

  4. 새창 띄우기 링크를 눌러 새창을 띄움

  5. 새창이 전체화면(fullscreen) 모드로 뜸 (팝업창으로 떠야함)

해당 이슈는

  • 바인더에서 발생함
  • maximize 윈도우 창 크기 상태일 때 발생함
  • 비디오 fullscreen 버튼을 사용할때 발생함

디버깅

바인더에서 fullscreen 상태 관리에 버그가 있음

정상 과정

사용자 동작이나 버튼 조작에 의한 일반적인 전체화면/해지 동작

  • maximize 창크기 상태 --> 전체 화면 (enter fullscreen) --> 해지 (leave fullscreen)
    --> normal 창크기 상태 (not maximize) --> restore 이벤트 발생

비정상 과정 발견됨

video 요소의 전체화면/해지 버튼 사용할때

  • maximize 창크기 상태 --> 전체 화면 (enter fullscreen) --> 해지 (leave fullscreen)
    --> maximize 창크기 상태 --> restore 이벤트 발생 안함
nwJS 가이드에 따르면 fullscreen 상태를 감지하기 위해 `Event: enter-fullscreen` , `Event: restore` 이벤트를 사용하도록 함  

하지만, `restore` 이벤트가 발생하지 않는 상황이 있는 것임

image

원인

  • nwJS (바인더)의 메서드 및 사용자 동작에 의한 fullscreen 해지는 모두 fullscreen 을 해지함과 동시에 maximize 상태도 해지하기 때문에 restore 이벤트를 발생시킴
  • video 요소의 fullscreen 버튼에 의해 fullscreen 상태가 해지될때에는 restore 이벤트 발생하지 않음
  • nwJS 버그로 추정되나 이슈 목록에는 관련 내용 없음
따라서, 'restore' 이벤트 만으로 상태를 파악할 수 없음

참고

바인더에서 새창을 띄울때 기존 창(window)의 상태 정보를 전달하여 새창의 상태를 설정하는 로직이 있음.
fullscreen 상태도 이 항목중의 하나임
restore 이벤트를 받지 못해 (jj._isFullscreen) 변수가 업데이트 되지 않은 상태에서 새창을 열게되면
jj._isFullscreen: true 값이 전달되어 새창이 풀스크린으로 뜨게됨

@vulcan9 vulcan9 added the 버그 label Aug 29, 2024
@vulcan9
Copy link
Owner

vulcan9 commented Aug 29, 2024

직지 바인더 코드 수정

  • 바인더에서 fullscreen 상태를 파악하기위해 사용하는 이벤트가 정상 동작 하지 않아 이벤트를 교체함
    • NwJS의 'restore', 'enter-fullscreen' 이벤트 사용하지 않음
    • document의 'fullscreenchange' 이벤트를 사용함

@vulcan9
Copy link
Owner

vulcan9 commented Aug 30, 2024

Jik-ji_Editor_3.3.45

  • Jikji.Binder_0.9.11 업데이트

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants