내 웹 페이지에 History.js을 사용하고 있습니다. 정상적으로 작동하지만 사용자가 페이지의 탐색 경로를 클릭하면 바로 첫 페이지로 이동합니다. 예를 들어 브라우저의 뒤로 버튼을 누르지 않고도 History.js 스택이 지워지지 않고 첫번째 페이지의 뒤로 버튼을 누르는 것이 제대로 작동하지 않습니다. 은 History.js 스택을 지울 수있는 방법입니다. Html5 히스토리 API에서는 history.go(-(history.length - 1));
을 사용하지만 History.js를 사용할 때 History.length
은 항상 빵 부스러기를 따라 가고 뒤로 버튼 클릭 중 일부를 건너 뛰더라도 항상 0을 제공합니다.history.js의 히스토리 스택 지우기
2
A
답변
7
로 이동하려면 뒤로 단추를 사용할 수 없습니다세션 히스토리을 지우거나 특권이없는 코드에서 뒤로/앞으로 탐색을 비활성화하는 방법은 없습니다. 가장 근접한 솔루션은 location.replace() 메서드입니다.이 메서드는 세션 기록의 현재 항목을 제공된 URL로 바꿉니다. Mozilla Source
해결책이 같이있다 :
var Backlen=history.length;
history.go(-Backlen); // Return at the beginning
window.location.replace("page url to redirect");
0
직접적인 답을 모르지만 window.location.replace(url);
을 시도해 볼 수 있습니다.
0
이것은 History.js에 해당합니다.
var urlPath = "index.html";
var response = { "html": htmlpage.toString() };
var currentIndex = History.getCurrentIndex();
// Return at the beginning
if(currentIndex > 0)
History.go(-currentIndex);
//pushState will clear forward history
History.pushState( response , null, urlPath);
+0
어떤 경우에는 이것이 작동하지만 그렇지 않은 경우도 있습니다. 대체 상태가 발생할 때마다 색인을 증가시킵니다. 첫 번째 페이지는 다음 색인 인 대체 상태가있는 경우 초기 게시물입니다. 첫 번째 페이지로 돌아가려면 첫 번째 페이지의 마지막 업데이트이기 때문에 두 번째 인덱스로 돌아갑니다. – deefactorial
2
도노반의 대답은 훌륭하지만 내 경우에는 작동하지 않습니다. backlength 인덱스가 너무 높기 때문에 history.go (-Backlen) 명령은 무시됩니다.
이 솔루션은 내 경우에 작동합니다
var backlen = history.length - 1;
history.go(-backlen); // Return at the beginning
history.replaceState({}, null, 'your relative url');
관련 문제
- 1. history.js의 사용 방법
- 2. android에서 활동 스택 지우기
- 3. 활동 스택 자동 지우기?
- 4. 어도비 브래킷의 히스토리 스택 크기 변경
- 5. 프로그래밍 방식으로 활동 스택 지우기
- 6. MIPS 스택 지우기 내용 설명
- 7. jquerymobile 앱의 백 스택 지우기
- 8. url에서 history.js의 ajax 호출에 이르기까지
- 9. GWT의 히스토리 삭제 MVP
- 10. 활동 스택 분기 만들기 및 지우기
- 11. 활동 의도에 대한 내비게이션 스택 지우기
- 12. 탐색 루프 및 백 스택 지우기
- 13. history.js의 해시 (#) 대신 슬래시를 사용하는 방법은 무엇입니까?
- 14. backbone.js, davis.js 및 history.js의 내역 구현 차이점
- 15. 오라클 히스토리 테이블의 히스토리 데이터를 유지하는 방법
- 16. 히스토리 데이터를 비 히스토리 테이블에 첨부하십시오.
- 17. 히스토리 API를 사용하여 '시작'으로 돌아 가기
- 18. 목록 지우기 데이터 지우기
- 19. Mercurial : borked 히스토리 수정
- 20. Eclipse의 히스토리 표시 없음
- 21. IE 히스토리 푸시 상태
- 22. opengrok을 사용하여 히스토리 검색
- 23. 사용자 입력보기 히스토리
- 24. Nhibernate로 테이블 히스토리 유지
- 25. 자바 계산기 히스토리 기능
- 26. Uber의 히스토리 API 사용하기
- 27. GWT, 히스토리 제거 토큰
- 28. 히스토리 업데이트없이 해시 변경
- 29. 클라이언트 사용을위한 데이터베이스 히스토리
- 30. Mercurial 히스토리 제거
우리가 History.js에 history.length이 없습니다. html5 기록 API를 사용하고 있지는 않지만 html4 브라우저 호환성을 위해 History.js (https://github.com/browserstate/history.js/) – vishesh
문제를 해결하려면 github에서 문제를 열 수 있습니다. –