자바스크립트 settimeout

자바스크립트 settimeout

QA

자바스크립트 settimeout

답변 1

본문


<script type="text/javascript">
setTimeout("delayopen()", 86400000);  // 12시간
function delayopen(){
location.replace("<?=$replace_str?>");
}
</script>
 

 

<현재 오픈된 인터넷 창을 12시간 마다 리프레쉬 하게 자바스크립트로 만들어서 잘 사용하고 있습니다

($replace_str 가 url 주소)>

 

 

<원하는 것은 12시간 마다 아니라 하루에 특정 시간 새벽 3시 즉 03시에 리프레쉬 하는 것입니다.

인터넷을 하다 아래와 같은 소스를 찾았는데 둘이 어떻게 합쳐야 할지 모르겠네요.

자바스크립 잘 접하지 못해서요.>

 

[javascript] 특정 시간에 함수 호출하기 (tistory.com)


$(document).ready(function(){
   timerFunc(function(){alert("Hello")} ,20170331100000) //인자로 넘겨주는 dateTime은 'yyyyMMddhhmiss"의 기본형
});
function timerFunc(func, dateTime){
    var year = Number(dateTime.substring(0,4));
    var month = Number(dateTime.substring(4,6));
    var day = Number(dateTime.substring(6,8));
    var time = Number(dateTime.substring(8,10));
    var minute = Number(dateTime.substring(10,12));
    var second = Number(dateTime.substring(12,14));
    var oprDate = new Date(year, month-1, day, time, minute, second); //동작을 원하는 시간의 Date 객체를 생성합니다.
    var nowDate = new Date();
    var timer = oprDate.getTime() - nowDate.getTime(); //동작시간의 밀리세컨과 현재시간의 밀리세컨의 차이를 계산합니다.
    if(timer < 0){ //타이머가 0보다 작으면 함수를 종료합니다.
       return;
    }else{
       setTimeout(func, timer);
    }
}

 

아래 소스를 가지고 위에다 적용 시켰으면 하는데 도움좀 부탁드리겠습니다

 

이 질문에 댓글 쓰기 :

답변 1

var now = new Date();    // 현재 날짜 및 시간
var hours = now.getHours();    // 시간
setTimeout("delayopen()", 1000);  // 1초
function delayopen(){
    if(hours=03){
            location.replace("<?=$replace_str?>");
    }
}
 

<script type="text/javascript">
/*setTimeout("delayopen()", 86400000);  // 6시간
function delayopen(){
location.replace("<?=$replace_str?>");
}
*/

var now = new Date();    // 현재 날짜 및 시간
var hours = now.getHours();    // 시간
setTimeout("delayopen()", 1000);  // 1초
function delayopen(){
    if(hours=17){
            location.replace("<?=$replace_str?>");
    }
}
</script>

오후 5시로 테스트 해봤는데 5시 되어도 그대로네요.
어디서 문제일까요?

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 947
© SIRSOFT
현재 페이지 제일 처음으로