2012-11-21 7 views
0

브라우저의 뒤로 버튼을 통해 내역 페이지로 이동하고 싶지 않습니다. 내가 어떻게 할 수 있니?브라우저의 뒤로 버튼 클릭 방지 방법?

+7

할 수 없으며해서는 안됩니다. – ahren

+0

거의 틀림없이 * 잘못된 * 문제를 해결할 것입니다. 부적절한 페이지가 역사상 끝나면 그 문제를 해결하도록 노력하십시오. –

+1

어느 정도까지 수행 할 수 있습니다 ... 사용자가 JS에서 브라우저 기록에서 돌아 오지 않게하려는 항목을 제거 할 수 있습니다 (사용자가 특정 페이지로 돌아 가지 않도록하려는 경우). 그러나 그것은 분명히 행해져서는 안됩니다. 하지 마! –

답변

0

사이트에서 로그 아웃 한 후에는 어떻게됩니까? 그렇다면이 방법이 도움이 될 것이라고 생각합니다. link

+0

아니요. 브라우저의 뒤로 버튼으로 돌아가고 싶지 않습니다. 가능한가? – Sharad

+0

또한 버튼 하나 클릭만으로 가능할 경우 페이지의 모든 버튼과 페이지로드 이벤트 이후에 이러한 설정을 제공 할 수 있으므로 전혀 불가능해질 수 있습니다. 당신이 당신의 역사를 보여주지 않을 가능성이있는, 뒤를 돌아 다니는 것을 방지하는 그런 사이트가 있습니다. 다소 까다 롭지 만 확실하게 작동합니다. – Dipak

1

당신도 할 수 있지만, @Ahren은 그렇게해서는 안된다고 말했습니다.

SPA (단일 페이지 응용 프로그램) 만 개발하면됩니다. 그런 경우 웹 서버에 대한 비동기 요청 만있게되며 페이지가 부분적으로 업데이트됩니다. 태그로 이해하면 개발을 위해 asp.net을 사용하고 있습니다. asp.net 공식 웹 사이트에서 수행하는 방법을 알아볼 수 있습니다. Samples: A Tour through SPA

+0

그리고 사용자가 다른 창에서 페이지를 열면 어떻게 될까요? 원본 페이지에서 smth를 수행하면 원래 페이지가 다른 창에 일관성이 없어집니다. 그리고 나서 사용자는 그 별도의 페이지를 가져다가 다시 쓰려고합니다. SPA는 내가 추측하는이 문제를 해결하는 것을 목표로하지 않습니다. 이것은 전혀 문제가되지 않습니다. 간단히 웹 응용 프로그램은 "쓸모없는"페이지에서 요청을받을 준비가되어 있어야합니다. 내가 맞지 않니? – horgh

+0

웹 환경에서는 불가능한 것처럼 불일치를 완벽하게 해결하지 못합니다. SPA는 일반적인 경우 개발자가 직접 역사 단계를 에뮬레이션해야하기 때문에 역사에 문제가 생깁니다. 나는 역사가없는 웹 앱을 만드는 방법을 보여 줬다. 나는 또한 그 종류의 애플 리케이션을 싫어 해요) –

+1

이 언급했다, IMO)) – horgh

2

잘못된 문제를 해결한다는 데미안의 견해에 동의합니다. 나는 웹 개발자로서이

의 블로그 게시글 작성, 당신은 당신의 서버 코드의 전체 제어하지만, 스크립트의 측면에서 클라이언트의 제한을 제어 할 수 있습니다. 고객은 스크립트 기능을 사용할 수 없습니다 ( 사용자가 스크립트를 사용하지 않을 때까지 스크립트를 사용 중지 할 수 있음). 따라서 클라이언트의 관점에서 사이트 동작을 설계하면 안됩니다. 즉, 브라우저.
로그 아웃 한 사용자가 뒤로 버튼을 클릭하면 로그인 페이지로 리디렉션되도록 동작을 구현해야하므로 이 발생하도록 사이트를 디자인해야합니다. 당신은 자바 스크립트를 사용하여 원하는 결과를 얻을 수 있지만, 당신은 모든 모드에서 모든 장치에 걸쳐 일관된 동작을 보장 할 수 없습니다 http://www.dylanmorley.com/blog/post/Web-Development-Disabling-the-back-button.aspx

- 서버 측 디자인

전체 블로그 게시물은 여기에 클라이언트 동작을 구동한다 (예 : 스크립트를 사용하지 않는 모바일 브라우징)

올바른 서버 측 코드를 지정하면 스크립트 사용 여부에 관계없이 뒤로 버튼의 예상되는 동작을 손상시키지 않고 올바른 클라이언트 동작을 수행 할 수 있습니다.

1

캐시를 만료 할 수 있으며이 기능을 사용할 수 있습니다.

Response.Cache.SetExpires(DateTime.Now.AddDays(-1)); 
Response.Cache.SetCacheability(HttpCacheability.NoCache); 
관련 문제