top.location.replace Safari/Chrome에서 히스토리 항목을 만듭니다
-
06-07-2019 - |
문제
이 시점에서 우리는 해당 해외를 사용하여 현재 사용자에게 표시되는 사진을 결정하고 페이지를 친구 등으로 보내는 것을 지원하는 광 공기가 있습니다. 같은 것 :
다음 또는 이전 버튼을 클릭 한 후 해당 사진을로드하면 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을 교체하는 대신?