2010-11-23 7 views
0

PHP 페이지를로드 할 때 데이터가 추가됩니다. 예를 들어, MyPage.php? value = something. 예상대로 뒤로 버튼을 사용하여 앞뒤로 이동하면 항상 동일한 데이터가로드됩니다. 나는 그것을 원하지 않는다. 나는 페이지가로드 된 후에 추가 된 데이터없이 MyPage.php 만 저장하도록 히스토리를 변경할 수 있어야한다. 이제는 뒤로 버튼을 사용할 때 MyPage.php 만로드한다. 어떻게 할 수 있습니까 - 자바 스크립트, jquery, PHP, 뭐 ???자바 스크립트 기록 변경

히스토리 오브젝트를 건드리지 않고도이를 수행 할 수있는 방법이 있다면, 그것도 좋습니다. 나는 약간의 역사 조정이 필요하다고 가정하고있다. 또한 클라이언트 또는 서버 측에서 조정이 필요한지 확인해도됩니다.

+0

사용자는 브라우저 기록을 ** 기능 **으로 간주 할 수 있습니다. 이 기능을 사용하지 않으려는 경우에도 브라우저가 실행되지 않을 수 있으며 궁극적으로 브라우저가 사용자 컴퓨터가 아닌 해당 컴퓨터에서 실행됩니다. –

답변

1

내가 아는 한, 이와 같은 기록을 조정할 수 없으며이를 처리하는 좋은 방법도 아닙니다.

페이지가 두 번 이상로드되면 쿠키를 사용하여 데이터를 저장하거나 세션 변수에 데이터를 저장하고 처리가 완료되면 쿠키를 삭제할 수 있습니다.

1

데이터가 GET 메서드를 사용하여 추가된다고 가정합니다. POST를 사용하면 MyPage.php 뒤에 텍스트가 추가되지 않지만 여전히 페이지에 데이터를 전달할 수 있습니다.

0

역사는 역사입니다. 그것을 바꾸기위한 약간의 해킹입니다 (그리고 그렇게한다면 다른 문제가있을 수 있습니다).

아무런 쿼리 문자열이없는 것이 좋으며 js 또는 서버 측 논리를 사용하여 작업을 결정하거나 js 또는 서버 측 논리에서 두 번째 요청을 무시하는 것이 좋습니다.

0

역사를 수정하는 것이 좋으면 아마 이것을 들여다 볼 수 있습니다.

history.replaceState({}, document.title, "MyPage.php"); 

이렇게하면 페이지를 새로 고치지 않고 현재 window.location을 "MyPage.php"로 다시 작성합니다.

관련 문제