문제

이 시점에서 우리는 해당 해외를 사용하여 현재 사용자에게 표시되는 사진을 결정하고 페이지를 친구 등으로 보내는 것을 지원하는 광 공기가 있습니다. 같은 것 :

http : // url/photos/#photo-4

다음 또는 이전 버튼을 클릭 한 후 해당 사진을로드하면 JS 1.1 사양에 따라 다음을 사용하여 URL을 변경합니다.

top.location.replace(url.url + hash);

우리의 원하는 동작은 히스토리 항목이 생성되지 않기 때문에 사용자는 뒤로 버튼을 사용하여 백 버튼을 사용하여 이전 사진을 보는 대신 사진을 남길 수 있습니다.

IE와 Firefox 에서이 방법은 매력처럼 작동하지만 Safari와 Chrome은 변경된 URL의 히스토리 항목을 만듭니다. 이렇게 탐색하기 위해 해시를 사용할 때 히스토리 항목을 만드는 방법을 많이 찾았지만 다른 방식으로 수행하고 싶습니다. 실마리?

도움이 되었습니까?

해결책

이것은 지금 예상대로 작동합니다.

원정 여행 5.1.7] location.replace ()는 예상대로 작동합니다 - URL이 교체되고 뒤로 버튼의 대기열에 아무것도 추가되지 않으며 히스토리 메뉴에는 아무것도 추가되지 않습니다.

크롬 21.0.1180.82] location.replace ()는 약간 까다 롭습니다 - URL이 교체되고 뒤로 버튼의 큐에 아무것도 추가되지 않지만 It 히스토리 메뉴에 항목을 추가합니다.


이 까다로운 점은 기록 메뉴와 뒤/전방 버튼 인 두 가지 독특한 기록 대기열이 있다는 것입니다. 뒷면 및 전방 버튼을 클릭하고 누르고 큐를보고 히스토리 메뉴와 비교하십시오.

후면/전방 버튼의 히스토리 큐는 활성 탭에 묶여 있습니다. 또한, 버튼 히스토리는 역사 메뉴를 지우더라도 적어도 탭을 닫을 때까지 남아 있습니다.

다른 팁

이 시점에서 해결책이없는 것 같습니다.

해시 사용을 할당하는 것을 보셨습니까? Window.location.hash = Newhash 전체 URL을 교체하는 대신?

https://developer.mozilla.org/en/dom/window.location

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top