삼성인터넷 뷰포트 깨지는 문제

최근 모바일웹 프로젝트를 진행하면서 전체화면(Fullscreen API)를 사용할 일이 있었다.
IOS에서는 안되었지만, 안드로이드 진영에서는 가능했기에, 진행을 했는데.
이슈가 생겨버렸다.

사용자가 전체화면상태에 진입을 한 후, 이전 버튼을 이용하여 전체화면 상태를 중지했을때 뷰포트(Viewport)가 깨지는 문제가 발생했다.

어떻게 깨지는거지?

나는 삼성 갤럭시(Samsung Galaxy) S8에서 해당 현상을 발견했고,
삼성 갤럭시 S8 의 기본 브라우저가 구글 크롬(Google Chrome)인 줄 알고 있었는데,
인터넷이라는 이름이 붙은 삼성 인터넷(samsung internet)웹 브라우저에 생기는 문제였다.

위에서 뷰포트가 깨지는 문제가 발생했다고 했는데, 정확한 증상은

  • 내가 지정한 화면이 축소 되었으며,
  • user-scalable=no 로 지정한 확대/축소 금지 옵션이 무시되었다.

즉 작성자가 의도한 화면을 무시하고, 사용자 마음대로 확대 축소 시킬수 있는 문제가 생겼다.

어떻게 해결하지?

삼성인터넷에 대해 구글링을 해보다가, 삼성인터넷 깃허브에서 해당 이슈를 찾을 수 있었는데,
삼성인터넷 v5.4 이후로 발견된 현상이라고 한다.
그리고 이슈로 등록되어 있고, 이슈가 Closed 되어 있어 해결방법이 있는줄 알았다.

그런데, 이를 해결할 수 있는 방법으로는 사용자가 직접 설정에 접근하여, 어떤 옵션을 꺼야 한다고 한다.

해결방법

설정 > 화면(Settings > Manual zoom) 수동확대 끄기

해당 옵션은 웹사이트의 설정과 관계없이 손가락으로 화면을 확대할 수 있습니다.라는 설명이 붙어있는데, 이 옵션을 꺼버리면, 작성자가 의도한대로 화면이 잘 나온다.
그런데, 문제는 웹사이트를 작성하는 사람이 접근할 수 있는 방법이 없는것으로 보인다.
웹 사이트를 이용하는 사용자가 직접 설정해야 문제가 해결된다.

왜 이게 기본적으로 활성화 되어 있는지 이해할 수가 없다.

참조