URL popstate로 URL이 변경 될 때마다 windows popstate 이벤트가 발생합니다.이 이벤트는 ajax 또는 사용중인 모든 사이트 콘텐츠를 변경하는 데 사용해야하며 브라우저의 뒤로/앞으로 버튼에서 실행됩니다. . 일부 브라우저의 경우 첫 번째 페이지로드가 발생하기 때문에이를 확인해야합니다.
정말 전체 깃털 기본 JS 이벤트 핸들러 예를 들어 무엇을하지를 쓸 시간이 없어,하지만 여기에 빠른 jQuery를 버전입니다 :
var checkForFirstLoad = true;
$(window).on({
load: function() {
checkForFirstLoad = false;
},
popstate:function(e) {
if (checkForFirstLoad) {
updatePage(e.originalEvent.state!=null ? e.originalEvent.state.page : document.location.pathname, true);
}else{
checkForFirstLoad = false;
}
}
});
function updatePage(pageURI, type, switchContent) {
if (!type) {
history.pushState({ page: pageURI }, page, pageURI);
}
if (switchContent) {
//replace site content etc.
}
}
이 그냥 정말 간단한 예를 들어 지금, 그리고 클릭 한 링크가 현재 url과 동일한 href를 갖고 있는지 확인하고, 다른 URL을 인식하는 등 브라우저 도움말을 확인하는 등 더 많은 작업이 진행되고 있습니다. 개체 리터럴에 몇 천 줄의 코드가있는 프로젝트에서이 URL을 복사했습니다. 그래서 여러분은 popstate의 작동 방식과 여러분의 코드에서 어떻게 사용하는지 정확하게 알아 내야 할 것입니다.
방금 이런 식으로 시도했습니다. 앞으로 단추가 작동하지 못하게하고 누군가가 페이지를 탐색하여 이전 페이지로 돌아 가려하면 시도가 불가능합니다. . \t \t \t window.addEventListener ('popstate'함수 { \t \t \t \t \t document.getElementById를 (값 = decodeURIComponent (window.location.pathname.substring) 'blahfield "(이벤트) (창 I는이 코드를 추가 .location.pathname.lastIndexOf ('/') + 1)); \t \t \t \t \t REQ(); \t \t \t}); – Gus