Hash태그를 이용하여 ajax페이지에서 뒤로가기 구현하기
<script type="text/javascript">
var agent = navigator.userAgent.toLowerCase(); //브라우저에 따라 한글 해시 인코딩 필요성 체크하기 위함
//해시태그 변경될때 메소드
$(window).bind('hashchange', function() {
get_list(Page, PageSize);
});
//해쉬태그 세팅 가져오기
function fnGetHash() {
if (document.location.hash != ""){ //받아올 해시가 있으면
var arrHash = new Array();
var hash = ""
if (agent.indexOf("chrome") != -1){ //크롬,사파리의 경우 한글해시를 인코딩한다.
hash = decodeURIComponent(document.location.hash);
}else if (agent.indexOf("safari") != -1){
hash = decodeURIComponent(document.location.hash);
}else{
hash = document.location.hash;
}
arrHash = hash.split("#");
if (arrHash[1]) Page = arrHash[1];
if (arrHash[2]){ sub_kbn = arrHash[2]; $('#sub_kbn').val(sub_kbn); } else { sub_kbn = ''; }
if (arrHash[3]){ cls = arrHash[3]; $('#cls').val(cls); } else { cls = ''; }
if (arrHash[4]){ searchkey = arrHash[4]; $('#searchkey').val(searchkey); } else { searchkey = ''; }
if (arrHash[5]){ searchword = arrHash[5]; $('#searchword').val(searchword); } else { searchword = ""; }
}
}
//해시태그 세팅하기
function fnSetHash(page) {
var hash = "#" + page;
hash += "#" + $("#sub_kbn option:selected").val() + "#" + $("#cls option:selected").val();
if ($("#searchword").val() != ""){
if (agent.indexOf("chrome") != -1){ //크롬,사파리의 경우 인코딩된 해시를 다시 원복한다.
hash += "#" + $("#searchkey option:selected").val() + "#" + $("#searchword").val();
}else if (agent.indexOf("safari") != -1){
hash += "#" + encodeURIComponent("#" + $("#searchkey option:selected").val() + "#" + $("#searchword").val());
}else{
hash += "#" + $("#searchkey option:selected").val() + "#" + $("#searchword").val();
}
}
//필요에 따라 해시정보를 저장
var obj = document.frmAction;
frmAction.hashInfo.value = hash;
//인터넷 url에 해시정보를 붙인다.
window.location.hash = hash;
}
</script>
'Development > Javascript, jQuery' 카테고리의 다른 글
[jQuery] 이미지 파일첨부 미리보기기능 구현하기 (0) | 2018.01.16 |
---|---|
[javascript] 모바일 체크 (Mobile Check) (0) | 2018.01.09 |
[javascript] ajax form데이터 serialize로 전송하기 (0) | 2017.09.13 |
[javascript] 날짜 더하기 (0) | 2017.09.13 |
[javascript] 날짜 차이,간격 일수 구하기 (1) | 2017.09.13 |