[JQUERY] 브라우저에서 뒤로 버튼 클릭을 감지 [중복]
JQUERY브라우저에서 뒤로 버튼 클릭을 감지 [중복]
해결법
-
1.지금까지 AJAX에 관한 한 ...
지금까지 AJAX에 관한 한 ...
페이지의 탐색 특정 부품에 사용 AJAX는 거대한 문제이다 대부분의 웹 응용 프로그램을 사용하는 동안 다시 누르면. 나는 다른 측면에서 사실 개발자에 오랫동안이 문제에 실행 한 '버튼 수단 당신이 뭔가 잘못하고있는을 해제 할 필요'가 동의하지 않습니다. 여기 내 솔루션입니다 :
window.onload = function () { if (typeof history.pushState === "function") { history.pushState("jibberish", null, null); window.onpopstate = function () { history.pushState('newjibberish', null, null); // Handle the back (or forward) buttons here // Will NOT handle refresh, use onbeforeunload for this. }; } else { var ignoreHashChange = true; window.onhashchange = function () { if (!ignoreHashChange) { ignoreHashChange = true; window.location.hash = Math.random(); // Detect and redirect change here // Works in older FF and IE9 // * it does mess with your hash symbol (anchor?) pound sign // delimiter on the end of the URL } else { ignoreHashChange = false; } }; } }
지금까지 내가 크롬에서이 작품을 이야기 할 수있었습니다으로, 파이어 폭스, 아직 테스트하지 않았습니다.
-
2.(브라우저가 "onbeforeunload"를 지원하지 않는 경우)이 시도하십시오 :
(브라우저가 "onbeforeunload"를 지원하지 않는 경우)이 시도하십시오 :
jQuery(document).ready(function($) { if (window.history && window.history.pushState) { $(window).on('popstate', function() { var hashLocation = location.hash; var hashSplit = hashLocation.split("#!/"); var hashName = hashSplit[1]; if (hashName !== '') { var hash = window.location.hash; if (hash === '') { alert('Back button was pressed.'); } } }); window.history.pushState('forward', null, './#forward'); } });
-
3.가장 좋은 방법은 I의 노하우
가장 좋은 방법은 I의 노하우
window.onbeforeunload = function (e) { var e = e || window.event; var msg = "Do you really want to leave this page?" // For IE and Firefox if (e) { e.returnValue = msg; } // For Safari / chrome return msg; };
-
4.나는이 방법으로 뒤로 버튼을 검출하고 있습니다 :
나는이 방법으로 뒤로 버튼을 검출하고 있습니다 :
window.onload = function () { if (typeof history.pushState === "function") { history.pushState("jibberish", null, null); window.onpopstate = function () { history.pushState('newjibberish', null, null); // Handle the back (or forward) buttons here // Will NOT handle refresh, use onbeforeunload for this. }; }
그것은 작동하지만 난 내가 쿠키에 의해 제어하지 않고 페이지에 입력하면, 브라우저가 어떤 뒤로 버튼의 클릭없이 다시 작업을하기 때문에 내가 처음에 페이지에있어 감지하기 위해 크롬에서 쿠키를 만들어야합니다.
if (typeof history.pushState === "function"){ history.pushState("jibberish", null, null); window.onpopstate = function () { if ( ((x=usera.indexOf("Chrome"))!=-1) && readCookie('cookieChrome')==null ) { addCookie('cookieChrome',1, 1440); } else { history.pushState('newjibberish', null, null); } };
}
매우 중요 history.pushState ( "jibberish", NULL, NULL); 브라우저 기록을 복제합니다.
어떤 사람은 내가 그것을 누가 고칠 수 알아?
-
5.뒤로 버튼 브라우저의 기능이기 때문에 기본 기능을 변경하기가 어려울 수 있습니다. 일부 작업 방법 그러나이있다. 이 문서를 살펴 보자 :
뒤로 버튼 브라우저의 기능이기 때문에 기본 기능을 변경하기가 어려울 수 있습니다. 일부 작업 방법 그러나이있다. 이 문서를 살펴 보자 :
http://www.irt.org/script/311.htm
일반적으로, 뒤로 버튼을 비활성화 할 필요는 프로그래밍 문제 / 결함의 좋은 지표이다. 내가 세션 변수 나 양식이 이미 제출 된 저장 여부를 쿠키를 설정하는 등의 다른 방법을 찾아 것입니다.
-
6.난 그냥 지금까지 UI 개발의 모든 교리에 대한 위반 뒤로 버튼을 사용하는 사용자를 방지하기 위해 노력하고 Ajax를 탐색 처리하려고하지하고 있으리라 믿고있어.
난 그냥 지금까지 UI 개발의 모든 교리에 대한 위반 뒤로 버튼을 사용하는 사용자를 방지하기 위해 노력하고 Ajax를 탐색 처리하려고하지하고 있으리라 믿고있어.
다음은 몇 가지 가능한 솔루션입니다 : JQuery와 역사 Salajax 더 나은 아약스로 돌아 가기 버튼
from https://stackoverflow.com/questions/6359327/detect-back-button-click-in-browser by cc-by-sa and MIT license
'JQUERY' 카테고리의 다른 글
[JQUERY] 그것은 선택 상자 스타일 수 있습니까? [닫은] (0) | 2020.10.08 |
---|---|
[JQUERY] HTML 요소는 jQuery를 사용하여 비어있는 경우 어떻게 확인합니까? (0) | 2020.10.08 |
[JQUERY] jQuery로 설정 입력 값 이후 업데이트 각도 모델 (0) | 2020.10.08 |
[JQUERY] 어떻게 워드 프레스에 간단한 jQuery를 스크립트를 추가하는 방법은 무엇입니까? (0) | 2020.10.08 |
[JQUERY] 어떻게 자바 스크립트에서 비동기 기능을 만들 수 있습니까? (0) | 2020.10.08 |