뒤로가기에서 스크롤 위치는 저장하지 않기

안드로이드 때문에 내부 팝업을 pushstate같은 처리로 히스토리와 연계해서 운영중인 페이지가 있는데, 몇개의 내부 팝업을 더 열어두는 형태로 기획/디자인 되어 애초에 만들때 계획에 없던 팝업이 열려있는 채로 이중 삼중 내부팝업을 열면서 history.back()일때 열렸던 스크롤 위치로 돌아가지 않도록 하는 작업이 필요하게 됐다.

사실 이런게 조절이 되는지 몰랐던 사항이라 아마 안될 것 같은데 시도는 해보겠다고 얘기했는데 알아보니 생각보다 매우 간단하다. history 멤버로 scrollRestoration이라는 항목이 있었음.

설정

if (history.scrollRestoration) {
  history.scrollRestoration = 'manual';
}

해제

if (history.scrollRestoration === 'manual') {
  history.scrollRestoration = 'auto';
}

manualauto이렇게 2가지 값 뿐임
manual일때 스크롤 위치 기억안함, auto일때 함.