2012-11-28 1 views
2

웹 페이지를 만들고 있는데 페이지에서 뒤로 버튼의 작동 방식에 문제가 있습니다. 일부 머리글을 설정해야하지만, 어떤 머리글을 설정해야할지 모릅니다. 이것이 내가보고있는 것입니다 :동일한 페이지를 두 번 방문하면 캐싱 : 뒤로 버튼은 두 번째보기의 데이터 만 표시합니다.

(1) 포럼 스레드를 보여주는 기본 페이지로 이동하십시오.

(2) 스레드를 표시하는 페이지로 이동하려면 링크를 클릭하십시오. 이 페이지에서 아래로 스크롤하여 주석을 추가하십시오.

(3) 덧글은 양식을 통해 저장됩니다 (편집 : POST와 GET 양식을 모두 시도했습니다). 리다이렉트를 통해 동일한 스레드 페이지가 다시로드됩니다. 의견이 표시됩니다.

Chrome :이 시점에서 뒤로 버튼을 누르면 댓글이 추가 된 것으로 표시됩니다. 뒤로 버튼이 작동하지 않는 것처럼 보입니다. 그러나 페이지는 (2)와 같이 아래로 스크롤됩니다. 뒤로 버튼을 다시 누르면 기본 페이지가 표시됩니다. 그래서, 뒤로 버튼은 저를 다시 데려가지만 같은 페이지가 두 번 있으면 새로운 데이터를 두 번 보여줍니다.

IE9에서 : 뒤로 버튼을 누르면 "웹 페이지가 만료되었습니다."라는 메시지가 표시됩니다. 다시 클릭하면 기본 페이지로 이동합니다.

뒤로 버튼이 이전 페이지를 실제로 보여주기 위해 어떻게이 동작을 변경합니까?

(나는 메인 페이지에서 몇 페이지인지 추적하여 "메인 페이지로 돌아 가기"링크를 생성 할 수 있습니다. (2) 위의 history.go (- 1)과 (3) 위의 history.go (-2) 있습니다. 사용자가 기본 페이지에서 1 떨어져있을 것이므로 (3)에서 브라우저 뒤로 단추를 누르면이 기능이 작동하지 않습니다. (3). 단계

+0

순수한 HTML이 사용됩니까? 자바 스크립트로 쿠키의 플래그를 씁니다. 최신 브라우저는 다른 동작을하는 '뒤로'버튼을 처리합니다. – Raptor

답변

0

(3) 당신은 아마 스레드 페이지의 새로운 HTML을 반환하는 POST 있습니다. 대신 POST 스레드 페이지의 GET로 리디렉션합니다.

참조 http://en.wikipedia.org/wiki/Post/Redirect/Get

+0

의견 양식은 POST입니다. 주석이 저장되면 GET 리디렉션을 사용하여 스레드 페이지로 돌아갑니다. 나는 이제 막 코멘트 양식을 GET으로 변경하려고 시도했다. 결과는 같습니다. 귀하의 링크에서 브라우저가 양식을 다시 보지 못하도록하는 것을 보았습니다. 그런 다음 양식을 두 번 제출할 수 있습니다. 그러나 나는 아직도 그것을 할 수 있기를 바란다. – user984003

+0

사실 원래 양식과 마찬가지로 POST를 사용하는 것이 가장 좋습니다. 그리고 그것은 당신이 이미 POST/REDIRECT/GET 패턴을 따르고있는 것처럼 보이기 때문에 문제가 아닌 것으로 생각됩니다. –

관련 문제