지난 10 년 동안 웹 응용 프로그램은 웹 페이지에 동적으로 콘텐츠를 로드 하기 위해 JavaScript를 많이 사용 하도록 발전 했습니다. 개발자가 이러한 응용 프로그램을 만들 때 직면 하는 큰 과제 중 하나는 정확 하 고 유용한 브라우저 기록을 유지 하는 것입니다. 이 브라우저의 많은 사용 하지 않고, 뒤로 및 앞으로 버튼과 같은 대부분의 기능, 예상 대로 작동 하지 않습니다. 당신은 역사 .js에 대 한 무료 지원을 원하는 경우, 다음 스택 오버플로에 질문을 게시 하 고 질문을 할 때 역사 .js 태그를 사용 해야 합니다. 우리는 뒤로 버튼을 클릭 하면 우리는 우리가 그것을 원하는 것 처럼 작동 찾을 수 있습니다, 푸시 상태는 우리가 단지에 전달 어떤 URL을 포함 하는 우리의 역사를 변경 했기 때문에. 이것은 흥미로운, 하지만 우리가 뭔가 조금 악을 시도 하 고 현재 URL이 전혀 css-tricks.com 되지 않은 척 경우 어떻게 됩니까, 하지만 완전히 다른 웹 사이트? 당신은 History.md 파일의 역사를 발견 할 수 있습니다 github.com/balupton/history.js-jQuery 역사에 의해 슈퍼 시드 당신은 쉽게 URL 해시를 추적 하 여 페이지 상태의 변경 사항을 추적 할 수 있습니다. 책갈피 및 뒤로 앞으로 단추에 의해 트리거되는 변경 내용을 지원 하 고 크로스 브라우저 지원 합니다. 이 API의 기능을 확인 하려면 개발자 도구를 향하고 콘솔에 기록을 입력 하는 것 만큼 간단 합니다. API가 선택의 브라우저에서 지원 되는 경우 다음 우리는이 개체에 연결 된 메서드의 호스트를 찾을 거 야: 그것은 jQuery 플러그인 역사를 사용 하 여 브라우저 기록을 관리할 수 있습니다.

푸시 상태 (HTML5) 및 브라우저 간 호환성 (IE6 포함). 기록에 새 주소를 추가 합니다 (먼저 듣기 위해 필요한 호출입니다). 이러한 히스토리 API의 가장 중요 한 점은 페이지를 다시 로드 하지 않는다는 것입니다. 이전에는 URL을 변경 하는 유일한 방법은 창을 변경 하는 것 이었습니다. 항상 페이지를 다시 로드 하는 위치입니다. 을 제외 하 고 변경 된 모든 것이 해시 ( 링크 를 클릭 하 여 페이지를 다시 로드 하지 않는 방법 등). JQuery를 하기 전에 발생 합니다. push 라고 (방지 할 수 있습니다). 히스토리를 사용 하 여 () 우리는 개체 표현에 우리의 브라우저의 역사에 저장 된 데이터를 확인할 수 있습니다. 브라우저 기록 (뒤로, 앞으로, 이동)에서 변경 될 때 발생 합니다. 위의 replaceState 스테이트 메서드는 요청 되는 자산이 없고 동일한 페이지에 남아 있는 창에도 불구 하 고 주소 표시줄의 URL을 `/hello `로 전환 합니다.

그러나 여기에 문제가 있습니다. 뒤로 버튼을 눌렀을 때 우리는이 기사의 URL로 돌아 가지 않고 대신 우리가 이전에 있던 페이지로 돌아갈 것 이라는 것을 발견 할 것입니다. 이는 Re플레이어부동산이 브라우저의 히스토리를 조작 하지 않기 때문 이며, 단순히 주소 창에서 현재 URL을 대체 하기 때문입니다. 간격: 간격 지연 (숫자). 간격이 참이 면, 그것은 jQuery로 변환 됩니다.