티스토리 카테고리 다른 글 보기를 이용할 경우,
url/?category=123456 와 같이 매개변수가 삽입.
<script type="text/javascript">
//브라우저가 pushState가 지원되지 않는다면 사용하지 않도록 설정
if(typeof(history.pushState) == 'function')
{
//현재 주소를 가져온다.
var CatagoryURL = location.href;
//게시글 중 매개변수 category가 붙으면 없애버린다.
CatagoryURL = CatagoryURL.replace(/\?category=(<0-9>+)/ig,'');
//페이지 새로 고침 없이 갱신
history.pushState(null, null, CatagoryURL);
}
</script>
스크립트를 추가해주면
https://tooltip.tistory.com/44?category=931656
https://tooltip.tistory.com/44
로 변경된다.
뒤로 가기 오류시
pushState -> replaceState 로 수정하면 url/?category=123456 숫자로 이동하는게 아니고 url/?category 로 바로 이동된다.
<script type="text/javascript">
if(typeof(history.replaceState) == 'function')
{
//현재 주소를 가져온다.
var CatagoryURL = location.href;
//게시글 중 매개변수 category가 붙으면 없애버린다.
CatagoryURL = CatagoryURL.replace(/\?category=(<0-9>+)/ig,'');
//페이지 새로 고침 없이 갱신하고 저장하지 않는다
history.replaceState(null, null, CatagoryURL);
}
</script>
조금 더 쉽고 편한 방법.
이 방법은 위와 같이 ?category=931656 페이지를 이동했다 경로를 제거하는게 아니라 카테고리 목록을 클릭할때 부터 경로가 ?category=931656 없이 글 번호, 혹은 글 entry 이름으로 바로 보임.
function replaceLink() {
var aLink = $('#main__content ul a');
for(var i=0;i<aLink.length;i++) {
if(aLink.eq(i).attr('href')) {
aLink.eq(i).attr('href',aLink.eq(i).attr('href').split("?category=")[0]);
}
}
}
$(document).ready(function() {
replaceLink();
});
var aLink = $('#main__content ul a'); 부분에서 #main__content 은 카테고리 페이지에서만 동작되도록 함, 귀찮으면 var aLink = $('a'); 전체 하이퍼링크를 지정해도 됨
적용된 모습 ^^