하이브리드앱(웹뷰) 이용시 뒤로가기 문제 문의
본문
게시판에 이용할 경우 대개 아래와 같은 흐름으로 진행됩니다.
1. A.php 파일에 있는 게시판 링크를 클릭해 게시판 목록으로 이동한다.
2. 특정 글을 조회한다. (한번이든, 여러번이든)
3. 글쓰기 버튼을 클릭하여 글쓰기 페이지로 이동한다.
4. 글을 쓴다.
5. 글쓰기가 완료되면 글 조회(또는 목록)페이지에 이동된다.
PC의 경우 사람들이 별 신경을 안쓰지만 모바일인 경우 아이폰이 물리 뒤로가기 버튼이 없는 관계로 페이지 상단 또는 하단에 뒤로가기 버튼을 HTML로 만들게 되는데
단순히 뒤로가기 버튼에 history.back() 을 호출하게 만들면 바로 이전페이지로만 이동하여 아래의 경우 오류라고 생각하는 사람이 많습니다.
1. A.php 파일에 있는 게시판 링크를 클릭해 게시판 목록으로 이동한다.
2. 글을 조회한다
3. 리스트로 이동한다
4. 다른 글을 조회한다
5. 글을 쓴다
6. 글쓰기가 완료되면 글 조회(또는 목록)페이지에 이동된다.
위 흐름에서 계속 뒤로가기 버튼을 클릭하게 되면 3~4번 과정 때문에 3번에서 뒤로가기를 하게 되면 A.php페이지로 이동하지 않고 2번 페이지로 이동하게 되는데 3번에서 뒤로가기 할 때 A.php 파일로 이동하도록 처리하는 방법이 있을까요?
3~4번 과정은 여러번 발생할 수도 있어서 단순히 history.go(n)만으로는 해결이 안될 것 같습니다.
지금은 페이지 접속할 때마다 URL을 확인하여 if문으로 history.back()을 할지, history.go(n)를 할지 URL이동을 시킬지 구분시키고 있습니다.
<!-- 뒤로가기 -->
<?
if($bo_table == 'one' || ($bo_table == 'notice' && $wr_id == '')){
$bstep = 1;
if($bo_table == 'one' && $pn != 'write' && $is_write)
$bstep = 3;
?>
<div id="header">
<? if(!$is_ios_app || $pn != 'register_member'){?><span class="top_back" onclick="history.go(-<?=$bstep?>); return false;"><img src="<?php echo G5_THEME_URL ?>/mobile/shop/images/top_back.png" alt="" width="40"/></span><? } ?>
</div>
<? } ?>
<!-- 뒤로가기(페이지 이동) -->
<?
$back_url = '';
if($bo_table == 'coop')
$back_url = G5_THEME_URL.'/mobile/shop/09/option.php';
else if($pn == 'search_result')
$back_url = G5_THEME_URL.'/mobile/shop/01/search_list.php';
if($pn == 'search_result' || $bo_table == 'coop'){
?>
<div id="header">
<span class="top_back" onclick="location.href='<?=$back_url?>#'; return false;"><img src="<?php echo G5_THEME_URL ?>/mobile/shop/images/top_back.png" alt="" width="40"/></span>
</div>
<? } ?>
답변 2
현재 페이지가 아닌 다른페이지 유입이라면
뒤로가기 또는 백스페이스 등 액션이 확인되면
바로 리스트로 이동하도록 스크립트를 짜시면 될것 같은데요??
실제로 모달창닫기 부분에 해당 방법을 적용하여 사용중입니다.
뒤로가기를 만드시는 이유가 뭘까요?
그냥 보기 페이지에서는 A페이지 또는 목록으로 바로 이동하는 버튼을 넣으시면 될것 같은데요..