jQuery를 사용하여 좀 더 정교한 페이지 새로 고침을 시도하고 있습니다. 메타 새로 고침을 사용하면 페이지를 한 번로드하지 못하면 다시로드되지 않습니다. 나는 반복적으로로드하려고 시도하는 것을 만들려고합니다. 한번로드하지 못하면 다음 번에 다시 시도 할 것이므로 마지막로드가 성공하면 페이지의 새 버전을 볼 수 있습니다. 개입 결함이 있었다. 현재JavaScript 페이지 새로 고침을 수정하는 방법
내 코드는 다음과 같습니다
<script language="JavaScript" type="text/javascript" src="/include/jquery.js">
</script>
<script language="JavaScript">
var delay=5*1000;
function load(){
setTimeout(load, delay);
jQuery("#content").load("calendar_internal.cgi?days=40", function(){
jQuery("#preload").hide("slow");
});
delay = 15*60*1000;
}
jQuery("#content").load("calendar_internal.cgi?days=40", load);
</script>
지금까지 내가 말할 수있는, 이것은 무 조작으로 작동하고 있습니다. 새로 고침하지 않습니다.
어떻게하면 기본 수준에서 작동하여 새로 고침을 할 수 있습니까?하지만 새로 고침을 한 번 수행해도 페이지를보고 싶다면 다시로드해야한다는 의미는 아닙니다.
--EDIT--
지금이 분명히 (빛 테스트 후) 작업은 무엇 : 그런
<script language="JavaScript">
var placeholder = jQuery('<div></div>');
function load(){
setTimeout(load, 15*60*1000);
placeholder.load("logistic_ajax.cgi", function(){
if (placeholder.html())
jQuery('#content').html(placeholder.html());
})
}
load();
</script>
왜로드 함수의 첫 번째 줄에서 setTimeout의 load 함수를 호출하고 있습니까? – Abbas
안정성을 위해. 처음에는 다음 실행을 설정 한 다음 네트워크로드를 시도하므로 네트워크로드가 실패하면 시도한로드가 두 번 이상 손실되지 않습니다. – JonathanHayward
어쩌면 내가 여기있는 논리를 보지 않고 있지만 이것은 무한 재귀 호출이 아니겠습니까? load 함수의 첫 번째 행은 load 함수를 호출하는 setTimeout을 호출합니다. – Abbas