2013-03-31 3 views
5

내 PHP 페이지에서 타이머를 사용하고 있지만 페이지를 새로 고침 할 때 타이머가 시작될 때 시작됩니다. php 페이지에서 f5를 비활성화하거나 reload 옵션을 사용하고 싶습니다.내 PHP 페이지에서 리로드 및 f5 비활성화

미리 감사드립니다.

+3

가능한 것은 아니며 가능하지 않아야합니다. – Maerlyn

+0

내 페이지가 다시로드 될 때 내 타이머가 시작되는 것을 막을 수있는 방법은 무엇입니까? –

+0

타이머의 상태를 onbeforeunload에 저장하고 onload'로 복원하십시오. – Maerlyn

답변

8

나는 그것을 테스트하고 작동합니다.

function disable_f5(e) 
{ 
    if ((e.which || e.keyCode) == 116) 
    { 
     e.preventDefault(); 
    } 
} 

$(document).ready(function(){ 
    $(document).bind("keydown", disable_f5);  
}); 
+0

예, 작동하지만 F5 만 사용 중지합니다. CTRL + R은 어떨까요? 마우스 오른쪽 버튼으로 클릭 -> 다시 불러 오기 아이콘을 클릭하십시오. – Blackjack

2

해당 브라우저 기능을 비활성화 할 수 없습니다. 페이지에서 F5 키를 사용하지 않도록 설정 하시겠습니까? 나는 그것을 의심한다. 여기에 어떤 종류의 보안을 구현하려는 경우 적절한 서버 측 확인 접근법을 살펴 보는 것이 좋습니다.

2

수행 할 수 없습니다 - 최종 사용자가 동작을 제어하며 올바르게 작동합니다!

가장 가까운 작업은 창을 닫거나 새로 고침 할 때 경고 메시지를 표시하는 것입니다. 사용자는 경고에주의하고 현재 페이지를 고수하기로 결정하거나 요청을 무시하고 어쨌든 닫거나 새로 고침 할 수 있습니다.

여기를 참조하십시오. Alert when browser window closed accidentally

+0

또한 페이지가 PHP로 생성되었다는 사실은 부적절합니다. PHP (서버 측 스크립팅 언어)는 서버에서 텍스트 출력을 생성하며 일반적으로 HTML 및 Javascript와 같은 클라이언트 측 언어를 출력합니다. 여기에서 중요한 것은 서버 출력입니다. 생성 방법은 아닙니다. 도움이 되었길 바래요! – JoLoCo

+1

페이지 재로드시 시작 시간을 방지하는 다른 옵션이 있습니다. –

+2

세션 쿠키에 타이머 정보를 저장할 수 있으므로 사용자가 페이지를 새로 고치면 (또는 나뭇잎이 돌아 왔을 때) 타이머가 유지됩니다. 그러나 그것은 또 다른 질문입니다. – JoLoCo

관련 문제