2014-05-16 4 views
-1

순수 자바 스크립트에서 URL 해시 매개 변수를 가져오고 설정하는 방법은 무엇입니까? myurl.com/#from=2012-01-05&to=2013-01-01JavaScript : URL 해시 매개 변수를 가져오고 설정 하시겠습니까?

를 내가 얻을 위의 fromto 매개 변수를 설정할 수 있도록하고 싶습니다 :

예를 들어,이 같은 매개 변수를 사용하고 싶습니다.

일을하는 가장 좋은 방법이라면 HTML5 기록 API를 사용해보세요.

+0

죄송합니다. 아마도 명확하지 않았습니다. 질문을 업데이 트하겠습니다 ... – Richard

답변

3

당신이 해시 설정할 수 있습니다 (newer browsers에서)

window.location.hash = "new value"; 

과의 변경 사항을 청취 :

window.addEventListener("hashchange", function() { 
}); 

당신이 브라우저를 지원해야하는 경우 그 "hashchange" 당신이 있습니다 지원하지 않습니다 다른 사람들이 작성한 코드 (예 : jquery's history plugin)를 사용하고 싶습니다. 당신이 해시 URL을 구문 분석하려면

+0

어떤 오래된 브라우저는'location.hash'를 지원하지 않습니까? (Btw, 그것은'window.'입니다. 보통'document.'가 아닙니다) – Bergi

+0

'location.hash'는 잘 지원되지만' "hashchange"는 지원하지 않습니다. IE의 이전 버전에서는 iframe과 관련된 해킹이 필요합니다. 참조 : http://caniuse.com/#search=hashchange – Halcyon

+0

그래, 그게 내가 기대 한 것이지만, "* 최신 버전의 브라우저는 설정을 지원합니다 *"는 혼란 스럽습니다. – Bergi

5

이 작동 :

var hash = window.location.hash.substr(1); 

var result = hash.split('&').reduce(function (result, item) { 
    var parts = item.split('='); 
    result[parts[0]] = parts[1]; 
    return result; 
}, {}); 

http://example.com/#from=2012-01-05&to=2013-01-01`

URL이의

{from: '2012-01-05', to:'2013-01-01'}

관련 문제