<script>
function getTodayTime(){
var today = new Date();
var h=today.getHours();
var m=today.getMinutes();
if(h===3){
if(m===48){
window.location.reload();
}
setTimeout("getTodayTime()", 1*60*1000);
}else{
setTimeout("getTodayTime()", 40*60*1000);
}
}
getTodayTime();
</script>
<script>
var timer = setInterval(function()(<?=$getTodayTime();?>);
}, 1)
</script>
여차 저차 해서 일정한 시간대에 자동으로 새로 고침을 하는 스크립트를 구현(구글링)했습니다.
문제는
1. 저는 00:00:00 초단위로 구현을 해야 하는데 분단위로 구현이 된다는 점.
=분단위 새로고침이 아닌 초 단위로의 새로고침을 구현하고 싶습니다.
2. 분단위 구현도 일정한 시간에 구현되는게 아니고 지정된 분 ( if(m===48){ <<요 값 이
지난지 30~40초 이후에나 새로고침이 실행이 된다는 점입니다.
=지연 없이 즉시 실행되게 하고 싶습니다.
초 단위로 구현을 하고 즉시 실행을 하려면 어떤 방법을 써야 할지 setInterval 같은 함수를 쓰면 될 것같은데 사용법을 몰라서 적용을 못 시키는 것 같기도 합니다. 그리고 getSeconds 를
var s=today.getSeconds(); 이렇게 지정하더라도 setTimeout("getTodayTime()", 40*60*1000); 이 부분을 초단위로 정상적으로 설정하려면 어찌 해야 할지 몰라서 초단위로 지정도 못하고 있습니다.
고수 분들의 답변 기다립니다. 부탁드립니다. 항상 고맙습니다 ..
답변 2개 / 댓글 2개
님이 원하는 코드가 아닌데요 ㅠ.ㅠ
그리고 1초에 한번씩 페이지 새로 고침하는건
저거 다 필요 없이 아래 html 코드를 <head> </head> 에 넣어두면 됩니다.
<meta http-equiv="refresh" content="1">
하지만 1초에 한번씩 리프레시 하는건 보통 권장하는 방법은 아니니까요
답변에 대한 댓글 2개
meta 태그를 php 에서 만들어줘도 되고...
[code]
function periodRefresh(sec) {
timer = setTimeout(function () {
window.location.reload();
}, sec * 1000);
}
periodRefresh(원하는초)
[/code]
원하는 정확한 동작인지는 모르겠네요 ^^
예약시스템을 예로 들어 새벽4시와 오후4시30분에 자동새로고침됩니다.
<script>
function refreshAt(hours, minutes, seconds) {
var now = new Date();
var then = new Date();
if(now.getHours() > hours ||
(now.getHours() == hours && now.getMinutes() > minutes) ||
now.getHours() == hours && now.getMinutes() == minutes && now.getSeconds() >= seconds) {
then.setDate(now.getDate() + 1);
}
then.setHours(hours);
then.setMinutes(minutes);
then.setSeconds(seconds);
var timeout = (then.getTime() - now.getTime());
setTimeout(function() { window.location.reload(true); }, timeout);
}
refreshAt(04,00,0);
refreshAt(16,30,0);
</script>
답변을 작성하려면 로그인이 필요합니다.
일정 시간주기 새로고침이 아닌
특정 시간을 주기로 새로고침을 원하고있습니다
그래서 시간이 지정되는 리프레시코드를 질문드린겁니다 ㅠㅠ
답변 감사합니다
혹시 특정시간 주기로 지연없이 실행되는 방법은 없을까요?