사파리 모바일 브라우져에서 <히스토리 복원> 컴포넌트를 구현하던 중, bfcache 때문에 특정 기능이 동작하지 않는 이슈가 있었다.
bfcache를 쓰지 않기엔 서비스 오픈이 얼마남지 않아 리스크가 너무 컸다.
다행히 pageshow, pagehide와 같은 이벤트를 통해 기능 컨트롤이 가능할 듯 하여 적용하였으나, test시 pageshow 이벤트가 한번 호출 되고 난뒤에는 다시 호출 되지 않았다. (미치고 팔짝뛰는 줄...)
구글링만 30분 넘게 한 뒤 bugs.webkit 에 해당 버그가 리포트되었다는 것을 찾았고, 많은 개발자들이 해당 버그를 우회하기 위해 아래와 같은 3가지 방법을 사용하고 있었다.
사파리에서 pageshow event가 한번만 호출됨.
2020-05-27 버그 patched, 기도가 간절했는지 오픈전에 버그가 패치가 되어버렸네?