서버 연결 상태를 확인하는 함수가 있습니다. 5 초마다 checkOnline을 실행하고 싶습니다. 연결이 끊어지고 계속 실패하면 오류 메시지에 대한 fadeIn도 계속 실행됩니다 (깜박임 효과 생성). 페이드 기능이 한 번만 실행되고 실패하면 연결을 계속 점검 할 수 있도록 어떻게 변경할 수 있습니까?함수의 일부를 한 번 실행하지만 5 초마다 나머지 함수를 실행합니다.
$(function() {
var url = 'https://examplesite.com/';
function checkOnline() {
$.get(url).done(function() {
window.location = url;
}).fail(function() {
$('.errortext').hide().fadeIn(500);
$('.loadingtext').fadeOut(500);
});
};
window.setInterval(function() { checkOnline(); }, 5000);
setTimeout(function() { checkOnline(); }, 2000);
});
"오류 메시지를 이미 보았습니다"라는 변수를 처음으로 "true"로 설정하십시오. 변수가 이미 'true'일 때 로직을 수행하지 마십시오. –
연결이 있다고 가정하면 페이지를 다시로드하거나 5 초마다 'url'을 다시 방문하는 것처럼 보입니다. 그것은 의도 된 행동입니까? 나는 그때 당신이 손실 후 연결이 재개 될 때 사건을 처리 할 필요가 없다면 사촌에게 요청한다. –
5 초마다 연결을 확인하기 위해 서버를 핑 (ping)합니다. –