2009-03-01 4 views
4

AJAX를 사용할 때 페이지 새로 고침과 뒤로 버튼에 대한 해결책이 필요합니다.뒤로 버튼과 AJAX로 새로 고침

저는 AJAX 구현을 위해 간단한 자바 스크립트를 사용하고 있습니다.

누군가 코드 스 니펫을 보낼 수 있다면 매우 감사하게 생각합니다.

답변

1

은 본질적으로, 당신은 당신이 해시, IIRC의하면 window.location.hash를 변경 ... URL의 해시 부분을 모니터

http://.../path?parms#hashpart 

Whan을 &를 사용해야합니다, 그것은 페이지를 다시로드,하지만하지 않습니다 귀하의 아약스는 그것을 모니터하고 응답 할 수 있습니다.

5

jQuery를 사용하는 경우 the history plugin이 있습니다.

+0

좋은 대답은 jquery 없이도 똑같이 할 수 있습니까? – praveenjayapal

+0

jQuery로 수행 할 수있는 작업은 플러그인 소스를 살펴보면 어떤 기술을 사용하고 있는지 파악할 수 있습니다. –

2

나는이 작업을하고 있는데, question, 'update'텍스트의 링크를 참조하십시오.

+0

아주 완벽한 예를 들어, 나는 이것을 좋아한다. – praveenjayapal

0

onbeforeunload 이벤트는 새로 고침을 방지하는 데 유용 할 수 있지만 멀리 이동하거나 새로 고침하면 실행됩니다. 사용자가 앱에 로그인해야하는 경우 언제든지 탐색 및 새로 고침을 권유하는 일반적인 메시지를 표시 할 수 있습니다. 사용자가 앱 로그 아웃 버튼을 클릭하면 var를 설정하여 경고를 사용 중지합니다. 아마 같은 일을하는 '닫기'버튼을 만들 수도 있습니다.

2

여기 내 페이지에서 사용 된 해결책이 있습니다. 변경 사항이 적용된 페이지에 추가하십시오.

window.onbeforeunload = function() { 
    window.name = "reloader"; 
     } 

해당 페이지를 나가면 트리거됩니다. 변경 사항이있는 경우 트리거 할 수도 있습니다. 그래서 재로드가 필요한 페이지를 불필요하게 다시로드하지는 않습니다. 다음 "다시"브라우저를 사용한 후 다시로드하려는 페이지에서.

if (window.name == "reloader") 
     { 
     window.name = "no"; 
     reloadPage(); 
     } 

이 당신이 다시로드를 필요로하는 페이지에서 다시로드를 트리거 ...이 도움이 :) 을 희망이 오 BTW이 JS입니다.

0

시도해보십시오. PathJS jQuery 또는 기타 추가 lib가 필요하지 않습니다.