2011-04-20 6 views
0

이 질문은 이전에 요청되었지만 git-hub가 아닌 cross-browser * 옵션이 더 필요합니다.페이지 재로드없이 Javascript 'redirect'

http://stackoverflow.com/test#hey 

에 : 자바 스크립트를 사용하여

http://stackoverflow.com/test 

페이지를 다시로드하지 않고

변경 어쨌든이 있나요? 등

+0

무엇을 목표로합니까? 기능적으로 차이가 없어야합니다. 맞습니까? – Gareth

+2

당신이 원하는 것을 당신이 말하고 있지 않기 때문에 당신의 질문은 정말로 분명하지 않습니다. 첫 번째 URL은 브라우저가 페이지 내의 앵커로 스크롤하도록 강제 할 것이며, 두 번째 URL은 서버에 "맞춰져"자원을 요청할 것입니다. 실제로 브라우저가 URL을 사용하여 무언가를하도록 강요하지 않으면 서 원하는 것을 표시하기 위해 URL을 변경할 수있는 방법이 없습니다. –

+1

그리고 "git-hub one"은 무엇입니까? –

답변

2

당신은이에 대한 history.pushState()을 사용할 수, '더 크로스 브라우저'내 말은 IE7 + Firefox 3.5 +,하지 IE6에 의해

*을 (서버를 다시 타격). 당신이 polyfill로 history.js을 사용할 수, 크로스 브라우저 호환성을 위해

history.replaceState({}, '', location.href.split('#')[0]); 

:

는 해시를 제거합니다.

+0

Perfect. 고맙습니다 !!! – DaisyK

+0

@ 데이지 : 여전히 브라우저에 의존합니다. FF4 이상의 Chrome 또는 Safari 브라우저가 필요합니다. 다른 모든 것은'history.pushState/replaceState'를 지원하지 않습니다. –

+0

@Marcel : 따라서 polyfill;) –