CakePHP를 사용하여 웹 기반 테스트 (시험처럼)를 만들려고합니다.웹 응용 프로그램의 타이머
테스트가 시작되면 웹 서버는 정확한 시작 시간을 세션에 저장합니다. 테스트가 끝나고 클라이언트가 웹 서버에 응답을 제출하면 웹 서버는 이전 시작 시간과 함께 제출 시간을 다시 확인합니다. 총 테스트 시간이 특정 에러 마진 (예 : 5 분) 내에 있으면 테스트 결과가 수락됩니다.
이 부분을 이미 완료했으며 현재 jQuery Countdown Plugin을 사용하여 클라이언트 (브라우저)에 타이머를 표시했습니다. 이 타이머는 만료 된 경우 자동으로 양식을 제출하는데도 사용됩니다.
문제는 페이지를 새로 고침하여 타이머를 재설정하는 것입니다. 앞뒤로가는 것도 그렇게 할 것입니다 (본질적으로 상쾌합니다).
취해진 총 테스트 시간은 서버에서 기록되고 확인됩니다 (사용자가 타이머를 변조 한 후 테스트를 제출하면 시스템에서이를 거부합니다).이를 방지하거나 적어도 경고를 표시해야합니다. 또는 심지어 더 나은, 사용자 조작의 경우 자동으로 테스트를 제출 (물론 거부됩니다)?
저는 AJAX (아직 초보자입니다)를 사용하여이 작업을 수행 할 수 있음을 알고 있습니다. 그러나 상위 - 업은 대역폭 제한 (그렇게 생각하지 않습니다) 때문에 그렇게하지 않겠다고 말했습니다. 그래서 ... 누구?
전에 감사드립니다!
글쎄, 실제로는 내가 원하는 동기화 기능입니다 :) 이미 완료 했으니 까 ... 어쨌든 고마워! – Furunomoe
동일한 종료 시간의 측면에서 동기화를 의미합니까, 아니면 페이지가 해체되는 동안 다시 동기화하고 싶습니까? 후자는 제가 언급 한 것이고, 응용 프로그램이 실시간 일 때만 적용됩니다 (시험에 소요되는 시간을 제한하기보다는). 기본적으로, 두 클럭이 페이지에서 표류 할 수 있다고 생각하면 다시 동기화 할 수 있습니다. 그렇지 않으면 클라이언트의 시계를 신뢰하고 페이지 내에서 동기화하는 것에 대해 걱정하지 않아도됩니다. 물론 제출이 허용되어야하는지 여부를 서버에서 확인하는 것을 잊지 마십시오. 클라이언트 JS가이를 신뢰할 수 없다는 것을 신뢰하십시오. –