하이브리드 앱 개발에서 location.href 사용 후 뒤로가기 무한루프에 빠진 이유

 하이브리드 앱을 개발하면서 단순한 페이지 이동 로직을 만들었다. 버튼을 누르면 location.href 로 다른 페이지로 이동하고, 이전 버튼을 누르면 다시 돌아오는 구조였다. 웹에서는 이전 버튼을 자주 사용하지 않기 때문에 이 부분을 깊게 테스트 해 본적이 없다. 그런데 하이브리드 앱(WebView)에서 테스트하는 순간 문제가 바로 드러났다. 뒤로가기를 누르면 이전 페이지로 돌아가는 것이 아니라 같은 페이지를 계속 반복하면서 무한루프처럼 동작하기 시작했다. 처음에는 WebView 문제라고 생각했다. 하지만 원인은 location.href 와 히스토리 스택 구조였다. location.href 로 이동할 때마다 히스토리에 페이지가 계속 쌓이고 뒤로가기를 눌렀을 때 페이지가 다시 로드되면서 이동 스크립트가 또 실행되는 구조가 만들어진 것이다. 흐름은 이렇게 반복된다. A 페이지 → location.href → B 페이지 B 페이지 → 뒤로가기 → A 페이지 A 페이지 로드 → location.href 실행 → B 페이지 이 과정이 계속 반복되면서 하이브리드 앱에서는 뒤로가기 무한루프가 발생한다. 웹에서도 발생하는 문제지만 하이브리드 앱에서는 시스템 하단의 뒤로가기 버튼이 존재하기 때문에 이 문제가 훨씬 쉽게 드러난다. 특히 Android 물리 백버튼이나 iOS 제스처 뒤로가기와 결합되면 사용자는 앱이 고장난 것처럼 느끼게 된다. 해결 방법은 간단하다. 첫 번째는 location.href 대신 히스토리를 남기지 않는 location.replace 를 사용하는 것이다. location . replace( 'pageB.php' ); 이렇게 하면 히스토리가 쌓이지 않아 뒤로가기 루프가 발생하지 않는다. 두 번째는 자동 이동 로직이 한 번만 실행되도록 조건을 추가하는 방법이다. if (!sessionStorage.getItem('moved')) { sessionStor...

은평구 런치 특선 미친 갓성비 김현우 스시 응암점

김현우 스시 응암점

초밥이 갑자기 먹고 싶을 땐 동네 맛집

김현우 스시로 갑니다.

김현우스시 점심 정식 메뉴 3종

 난 초밥도 먹고 싶다! 우동도 먹고 싶다!

그러면 가까운 집 앞 맛 집 김현우 스시로 갑니다!

난 초밥 먹고 싶은데 친구는 돈까스 먹고 싶다...

그러면 김현우 스시로 갑니다! ㅎㅎㅎㅎ

점심에만 특별히 즐길 수 있는 스시 맛집 소개할게요~

위치는 서울특별시 은평구 신사동 18-17

우리 동네랍니다! ^^

우동 정식, 히레 정식 2세트 주문했더니

김현우 스시 점심 기본 반찬

요게 요게 생각보다 맛나요.

샐러드가 보기보다 입 맛을 잘 돋우어 줍니다.

전 요 단무지 좋아합니다.

요 단무지에는 가다랭이포가 들어 있어요

그래서 제 입 맛에 딱!!

히레까스 우동 정식입니다.

전 히레까스 우동 정식 주문했습니다.

이거 돈가스 소스에 찍어 먹어도 되지만

와사비 올려서 먹으면 더 맛있습니다.

히레까스에 와사비

와사비 사진이 없지만 와사비 올려서 먹으면

맛있으니 속았다 생각하고 함 드셔보시길...

히레까스와 초밥

히레까스에 나오는 초밥 종류입니다.

5pcs이지만 나름 넉넉한 배부름이 있습니다.

너무 적은거 아닌가 얕보지 마시길. ㅎㅎ

우동세트

우동세트는 우동사이즈가 커지고

초밥이 7pcs에 종류가 좀 더 고급져집니다.

모밀 & 초밥 정식

여름에만 먹을 수 있는 모밀 초밥 정식입니다.

연어 초밥

개인적으로 좋아하는 연어 초밥

그냥 연어보다 양파가 곁들여져 있어

덜 느끼해서 좋음

7pcs 초밥 종류

7pcs 초밥 종류입니다.

5pcs보다 좀 더 고급지죠?

서비스 초밥

서비스 초밥입니다.

이건 다들 놓치고 못 드시고 가시는 분이

계시더라구요.

바빠도 조금만 기다리시면 챙겨 주십니다.

오늘은 묵은지 초밥이었습니다.


다른 것들도 나오는데 전

이 묵은지 초밥이 젤 맛이 있었습니다.

묵은지 안에 생선회가 있어서 

아삭함과 부드러운 생선살이

잘 어울리더라구요.


혹시 안 주시면 안면 두껍게 하시고

"서비스 초밥 주시나요?" 하고

물어보십시오 ㅎㅎㅎㅎㅎ

꼭 챙겨 드시길!!!!


네이버 영수증 후기 쓰시면

음료수 또는 타코야끼 주십니다.

자주 가니 미안해서 오늘은 패쑤~~~

김현우 스시 응암점으로 갑니다.

합정점도 있다고하네요.


브레이크 타임 있으니 꼭 전화하거나

확인 하세요.

댓글