2014-01-13 1 views
0

Google에서 기록 API를 사용하려고하지만 예상대로 작동하지 않습니다. 몇 가지 예를 살펴 보았지만 모두 잘못되어있는 것처럼 보입니다. 즉,이 흐름이 예상대로 작동하지 않는 것입니다 :pushState, replaceState 및 popState를 올바르게 사용하는 방법은 무엇입니까?

새 페이지 호출 pushState에
  1. popState 부하 원하는 페이지에
  2. 내가 찾는거야하는 일이

가에 대한 # 2 URL이 이전 상태로 수정되지 않았습니다 (Firefox에서 테스트). pushState를 호출하거나 replaceState를 다시 호출하지 않으면 URL은 그대로 유지됩니다. 나는 또한 어떻게 든 첫 페이지가 브라우저의 역사에서 중복된다는 것을 알게되었다. (나는 그것을 볼 수있다.)

Back/Forward/Reload가 모두 전통적인 페이지 흐름처럼 작동하도록하려면 기록을 정확히 사용해야합니까?

답변

0

페이지에서 iframe의 사용과 관련된 문제가 있습니다. 프레임의 위치가 변경 될 때마다 원하는 히스토리가있는 메시지가있는 새로운 히스토리 항목이 작성됩니다. 이를 방지하려면 새로운 iframe 위치를 지정하는 대신 iframe 위치를 교체해야합니다.

document.getElementById('content_frame').contentWindow.location.replace(new_path) 

Location.replace 기록 항목을 만들지 않습니다.

관련 문제