2011-03-21 1 views
8

브라우저의 뒤로 버튼 기능을 사용자 정의해야하는 웹 응용 프로그램이 있습니다. 브라우저의 뒤로 버튼을 클릭 할 때마다 방문 페이지 (로그인 페이지)로 이동해야하며 '세션이 만료되었습니다.'라는 오류 메시지가 표시되어야합니다. 다시 로그인하십시오 '.asp.net의 전자 상거래 사이트와 비슷한 브라우저의 뒤로 버튼 기능을 변경하는 방법

나는 너무 많은 게시물을 통해 갔고 심지어 스택 오버플로도, 나는 몇 게시물을 보았다. 그러나 아무것도 나를 위해 일하지 않았다. 일시적인 해결 방법으로 자바 스크립트 접근 방식을 사용하고 있습니다. 기본적으로이 JavaScript는 결코 우리가 돌아갈 수 있도록 허용하지 않습니다. 그 대신에 그것은 우리를 같은 페이지에있게 할 것입니다. JavaScript 사용 내역 <script>history.go(1)</script>

브라우저의 뒤로 버튼 기능을 사용자 정의 할 수 있도록 도와주세요. 어떤 제안이라도 도움이 될 것입니다.

답변

11

짧은 대답 : 당신은 할 수 없습니다
조금 더 : 당신도 시도해서는 안됩니다.

하지만 당신이 주장하는 경우 : A Thorough Examination of "Disabling the Back Button." (2000하지만 ASP 때문에 내가 당신을 위해 여전히 유효한 것 같아요 :)

최근 점 그물 : Restrict user go back to previous page after signout

이전 버전의 브라우저가 위치를 지원하지 않습니다 무시합니다. 바꾸기 - IE3.2는 이전보다 인 으로 간주되지 않습니다. 이를 위해

+0

+1 이보다 더 간단한 방법으로 사용자를 자극 할 수 있습니다. 그렇다면 왜 여분의 노력을해야합니까? OP는 사용자의 경험을 많이 엉망으로 만드는 방식이 아니기 때문에 뒤로 버튼을 사용하지 않음으로써 달성하고자하는 바를 알려줄 수 있습니다. –

+0

@ 존 (Jon) - 간단합니다. 반복하지 않으려는 데이터베이스의 내용을 업데이트하는 모든 것. 인터넷이 시작된 이래로 이것을 염두에 두지 않은 응용 프로그램이 만들어졌으며 응용 프로그램에이 응용 프로그램을 빌드하지 않았습니다. 물론 원치 않는 동작을 멈추는 방법에 대해 응용 프로그램이 발생하는 상황을 처리하는 것보다 생각하는 것이 훨씬 쉽습니다. 그것은 방문자를 대하는 매우 일반적인 무례한 방법입니다. 다시 버튼 버튼과'브라우저 창을 닫는 방법 '은 1996 년부터 제 10 대 FAQ에있었습니다. 나는 완전히 동의합니다. 어떤 식 으로든 브라우저를 망치지 마십시오. – mplungjan

2

- 사용자 정의 솔루션 및 도움이되지 않습니다 다시 해제 버튼을 필요 ...

보통 당신은 뒤로 버튼의 동작을 변경하려고해서는 안된다.

접근 1 :

이 당신이 흐름에서 현재 페이지입니다 알고 탐색 프레임 워크를 만들기위한 호출

...이 경우에만 가능이 요구이기 때문에, 나는 다음을 제안 당신이 페이지가 (마법사 같은)가 호출됩니다있는 순서 2

접근법 : 귀하의 경우에

특정 : 만약 그렇다면 당신은 뒤로 버튼을 클릭하면 .. 확인하는 JQuery와/자바 스크립트를 사용할 수 있습니다 그런 다음 서버에 대한 ajax 호출을 수행하여 세션을 종료 한 다음 사용자를 로그인 페이지로 리디렉션 할 수 있습니다.

0

다음과 같이 브라우저 기록을 프로그래밍 방식으로 조작 할 수 있습니다. window.history.back(); window.history.forward(); window.history.go (2);

Chrome과 같은 HTML5 준비가 된 최신 브라우저에서는 history.pushState() 및 history.replaceState() 메소드를 사용하여 완전히 뒤로 가기 버튼 기능을 덮어 쓰는 등 고급 기능을 수행 할 수도 있습니다. (https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history)

더러워지고 javascript + ajax 호출을 사용하여 뒤로 버튼 이벤트에만 반응 할 수 있지만 일부 브라우저에서는 작동하지 않습니다. . 당신이 물어 보는 것은 웹의 기본 부분이 아니므로, 결국 어떤 것을 사용할지 결정할지라도 매우 쉽거나 광범위하게 지원되지는 않을 것입니다.