WebView 네비게이션 좌상단 뒤로가기 버튼 동작 관련 개발환경과 빌드환경 차이

안녕하세요

현재 웹뷰를 사용중이며
기본 상단 네비게이션의 좌측 뒤로가기 버튼이 window.history 의 스택을 이동하는 거라 생각해서

window.addEventListener('popstate', ()=>{})

로 컨트롤 하려고 시도하였습니다

개발환경의 경우에는 만족스럽게 동작하여 이대로 빌드를 한 후 버전 등록을 통한 테스트까지 진행하였으나

해당 빌드 환경에서는 위의 동작이 이루어지지 않고 있어서 혹시 이렇게 history 로 다루는 것이 아닌지에 대해서 여쭤보려 문의 남깁니다.

안녕하세요 :slight_smile:
history 기반으로 동작해야하는게 맞아요.
네비게이션 바 뒤로가기 클릭시에 popstate 이벤트가 일어나지 않는걸까요 ?

넵 그렇습니다

const popstateHandler = (e:any) => {

  window.history.pushState({ tab: 1 }, '', '');

    e.preventDefault();

    if (now - lastBackTimeRef.current < 2000) {

      closeView();

    } else {

      lastBackTimeRef.current = now;

      setOpenToast(true);

    }

  } else {

    setSelectedLarge(0);

  }

};

window.addEventListener(‘popstate’, popstateHandler);

이런식으로 사용하여 안드로이드의 뒤로가기를 두번 할 시 종료되는 동작을 여기에 적용하려고 하였으나
빌드 후에 동작은 history.back()의 기본 동작만 됩니다

추가적으로 window.onpopstate 같은 기능으로 덮어씌우려고 하는 시도도 실패했습니다

혹시 추가적인 개선안이 있을까요?

오류 해결하였습니다
단순히 onpopstate 이벤트가 무조껀 뒤로가기 가 된 후에 실행되서
history만 먼저 넣어주니 해결 되었습니다

1개의 좋아요

확인이 너무 늦었습니다.
감사합니다 :man_bowing: