2012-11-12 8 views
0

일부 단일 페이지 기능을 개발 중이며 window.location.hash을 사용하여 새로 고침 후 페이지를 다시 작성합니다. 이 페이지에서window.location.hash 여러 매개 변수로 이동

myapp.com/#comment 

이 제거됩니다

<a href = "#user">User</a> 
<a href = "#comment">Comment List</a> 

댓글 목록 눌러 브라우저의 URL이 될 것입니다 링크 :

기본적으로 나는이 같은 간단한 메뉴가 있습니다 코멘트를 제거하기 위해 AJAX 함수를 호출하는 링크 :

<a href = "#remove" class = "rmv-comment" data-id = "${commentId}">Remove Comment</a> 

제거 코멘트을 눌러는 브라우저의 URL이 될 것입니다 링크 : 지금은 새로 고침 이전 페이지를 다시 할 수 없기 때문에 이것은 매우 도움이되지 않습니다

myapp.com/#remove 

. 내가 좋아하는 (\ 또는 ?를 다른 문자를 추가하려고

myapp.com/#comment/#remove 

:처럼 내가 URL을 구축 할 수있는 방법을 찾고 있어요

합니다 (#comment 해시 따라서 일부 기본 페이지가 표시됩니다 존재하지 않습니다)) ~ #comment하지만 운이 없습니다. 미리 감사드립니다.

myapp.com/comment/remove 

페이지 사용을 window.history 개체를 다시로드하지 않고 URL을 변경하려면 :

답변

1

최신 브라우저에서 만 해시 기호

대신 myapp.com/#comment/#remove이 같은 것을 사용할 수 있습니다 사용할 수 있습니다

window.history.pushState("", "Title", "/remove"); 
window.history.pushState("", "Title", "/comment/remove"); 
+0

답변 해 주셔서 감사합니다. 내가 이해하는 바로는, 이것은 JS 함수를 모든 링크에 첨부해야한다는 의미일까요? – Ionut

+0

필요는 없습니다. 귀하의 서버는 라우팅과 같은 URL을 처리 할 수 ​​있습니다. 따라서 일부 페이지에서 URL을 변경할 필요가 없다면 자바 스크립트를 사용할 필요가 없습니다. –

+0

한 페이지 만 만들면 자바 스크립트가 URL을 처리합니다 –

관련 문제