페이지 갱신없이 주소변경 -- JavaScript




보통 검색 조건으로 리스트를 조회하여 조회된 리스트 중 하나의 상세로 들어갔다가 "브라우저 back키"를 눌렀을 때, 검색 조건이 초기화되게 된다. 검색 조건을 유지시키려고 파라미터를 지정하여 파라미터에 맞게 조건을 걸어주면 되는데, 파라미터 지정을 위해 페이지를 리로드 하기가 싫어 아래와 같이 history.pushstate를 사용하는 글을 찾았다.

자세한 사항은 출처를 확인하길 바란다.


( 브라우저가 HTML5를 지원해야 사용 가능 - IE는 10이상 )

if(typeof(history.pushState) == 'function')
{
    //현재 주소를 가져온다.
    var renewURL = location.href;
    //현재 주소 중 page 부분이 있다면 날려버린다.
    renewURL = renewURL.replace(/\&page=([0-9]+)/ig,'');
     
    //새로 부여될 페이지 번호를 할당한다.
    // page는 ajax에서 넘기는 page 번호를 변수로 할당해주거나 할당된 변수로 변경
    renewURL += '&page='+page;
     
    //페이지 갱신 실행!
    history.pushState(null, null, url);
}
        

덧글

댓글 입력 영역