문제

Safari & Chrome (Firefox 및 IE에서 작동) 에서이 이상한 문제를 겪습니다.

  1. 첫 번째 항목 'a'checked, item 'b'및 'c'가있는이 확인란 목록부터 시작합니다.
  2. 그런 다음 확인란 목록에 나타나는 항목을 주문하는 다른 페이지로 이동합니다.
  3. 목록의 항목 순서를 변경하여 이제 'b', 'a', 'c'로갑니다.
  4. 뒤로 버튼을 누릅니다
  5. 페이지가 서버에서 다시 가져 왔습니다 (캐싱 비활성화가 있음), 서버에서 보낸 응답을 확인하고 항목 'A'가 여전히 확인되어 더 이상 목록의 첫 번째 항목이 아닙니다.
  6. !!! 이상한 행동 !!! 새 순서 'b', 'a', 'c'가있는 브라우저에 페이지가로드되었지만 'A'는 확인되지 않고 첫 번째 항목 'B'가 확인됩니다.

어쨌든 뒤로 버튼을 눌러 수표 항목의 위치가 복원 된 것으로 보이며 서버에서 전송 된 양식 데이터가 폐기 된 것으로 보입니다.

페이지를 새로 고치면 순서가 'b', 'a', 'c'이고 항목 'a'가 확인되고 모든 것이 잘 보입니다.

두 경우 모두 페이지에 Ispostback이 False로 설정되어 있습니다.

웹 키트의 버그입니까?

캐시를 지우고 개인 브라우징 모드로 들어가서 기록을 지우려고 시도했습니다. 여전히 같은 행동.

도움이 되었습니까?

해결책

Chrome에서도 같은 문제를 발견했습니다. 추가 테스트에서 웹 사이트가 세션을 사용하는 경우에만 발생했습니다. 뒤로 버튼을 누를 때마다 게시물 데이터를 다시 게시하는 대신 게시물 데이터가 제거됩니다.

테스트 할 페이지를 만들었습니다. http://www.duanehutchins.com/formtest.php정보를 입력하고 몇 번 게시하면 작동합니다. 그런 다음 뒤로 누르고 다시로드; 데이터가 다시 게시되지 않았습니다.

세션을 비활성화하면 제대로 작동합니다. 나는 버그를 Chrome에보고했다. 누군가가 도와 주면 볼 것입니다.

다른 팁

페이지 상태가 그 중 시간에 변경 되었음에도 불구하고 WebKit에 의해 양식 데이터가 "복원"되는 것과 비슷한 문제가있었습니다.

비슷한 게시물 Safari 및 Chrome 뒤로 버튼이 숨겨지고 양식으로 값을 제출합니다. 우리를 위해 일한 좋은 힌트를 주었다. 추가하여 autocomplete="off" 페이지의 모든 양식에 우리는 이것을 해결할 수 있습니다.

이 예를 참조하십시오 :

http://jsfiddle.net/egutt/9/

이것은 나에게도 일어나고 있습니다. 사용 사례가 매우 간단하고 가장 일반적이기 때문에 이것은 매우 근본적인 결함처럼 보입니다. 나는 이미 다른 프로젝트의 두 곳 에서이 문제를 겪고 있습니다. 세션을 비활성화하면 실제로이 문제를 피하면 진짜 대부분의 고객 이이 옵션이나 관리에 대해 알지 못하므로 수정하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top