보통 하이브리드앱에서
뒤로가기는 window.history.back(); 이 자바스크립트를 많이 사용하는데
단순히 페이지 이동이 아니라, 어떤 페이지 위에 레이어를 올려서 표시하는 경우
잘 동작하지 않는 경우가 있다.
이때 "뒤로가기"를 했을 경우 판단하는 로직을 이용해야한다.
if (document.addEventListener) {
window.addEventListener('pageshow', function (event) {
if (event.persisted || window.performance && window.performance.navigation.type == 2) { // 뒤로가기로 이동시
}
}, false);
}
참고: https://ddasi-live.tistory.com/93
자바스크립트에서 이용하는 방법은 아래와 같다.
input tag를 hidden으로 하나 만들어 값을 저장하고, 호출하는 방식이다.
이런 방식외에 로컬스토리지에 저장하는 방식도 있다.
<script type="text/javascript">
window.onpageshow = function(event) {
if ( event.persisted || (window.performance && window.performance.navigation.type == 2)) {
// Back Forward Cache로브라우저가로딩될경우혹은브라우저뒤로가기했을경우
// 이벤트추가하는곳
document.getElementById('isBack').value = "OK";
console.log('back button event');
}
}
</script>
<html>
<input type="hidden" id="isBack" value="NO"/>
</html>
jQuery 에서 사용할때는..
var isBack = $('#isBack').val();
if(backValue == 'No'){
// 초기화 로직
}else{ // 뒤로가기에서 온경우 로직
$('#isBack').val('NO'); // 기본 설정으로 변경
}
'안드로이드 개발 팁' 카테고리의 다른 글
안드로이드 이미지 동적 정렬, 소스에서, programmatically (0) | 2024.02.14 |
---|---|
안드로이드앱 웹뷰 체크박스, 전체체크 연동 (1) | 2024.01.22 |
V50S (LM-V510N) USB 드라이버 다운로드 (0) | 2023.02.20 |
하이브리드 앱 등록시 필요한 것들 (0) | 2022.04.08 |
Apple, Android Inapp 결제 관련 참고 Site (0) | 2021.05.11 |