2014-12-19 3 views
0

JavaScript로 다음과 같이 구현하는 방법은?두 페이지를 번갈아 자동 다시로드

<meta http-equiv="refresh" content="30"> 
<iframe id="iframe_id" src="http://heise.de"></iframe> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
<script> 
$(document).ready(function() { 
    $('iframe#iframe_id').attr('src', 'http://192.168.1.1/internet-disconnect'); 
    setTimeout(function(){ 
     $('iframe#iframe_id').attr('src', 'http://192.168.1.1/internet-connect'); 
     }, 3000); 
    }); 
</script> 

을하지만 지저분한 그리고 그것은 정상적으로 방식으로 작동하지 않습니다

- Wait 120 seconds 
- Open http://192.168.1.1/internet-disconnect (in an iframe or so, doesn't matter) 
- Wait 3 seconds 
- Open http://192.168.1.1/internet-connect 
- Repeat 

는 여기에 내가하려고했던 방법입니다.

감사합니다.

+0

을 시도 대신하는 경우? 또한 코드의 6 줄, 어떻게 당신이 그것을 원하는가 unmessy? iframe을 함께로드하고 표시/숨기기는 어떻습니까? – atmd

+2

Re : * 작동하지 않습니다. *; 그래서 네가 가진 문제는 뭐니? 모든 스크립트는 "해야대로 작동합니다", 왜냐하면 그것들은 컴퓨터에 부여한 명령이기 때문입니다. 그들이 당신이 의도 한 것 *은 다른 문제입니다. 물론 : 당신은 당신이 얻고있는 행동과 당신이 기대하는 것과는 어떻게 다른지 설명해야합니다. 왜냐하면 이것이 모든 사람들에게 항상 쉬운 것은 아니기 때문입니다 말하다. – Carpetsmoker

+0

* 아이디어 *가 지저분하게 들리며, x-y 문제처럼 들립니다. 아마도 당신은 * 왜 * 당신이 이것을하고 싶은지를 설명해야만합니다 – andrew

답변

0

사용하여 setInterval()에서는 setTimeout()

이 원하는 방식으로 작동하지 않습니다 어떤 방법이

<script> 
$(document).ready(function() { 

    var flag = 0; 
    $(document).ready(function() { 

     setInterval(function(){ 
      if(flag == 0){ 
       $('iframe#iframe_id').attr('src', 'http://192.168.1.1/internet-disconnect'); 
       flag=1; 
      }else{ 
       $('iframe#iframe_id').attr('src', 'http://192.168.1.1/internet-connect'); 
       flag=0; 
      } 
     }, 3000); 

}); 
</script> 
+0

불행히도 아무 일도 일어나지 않습니다. 원본 iframe의 내용은 변경되지 않습니다. – user64153

0
window.onload = function(){ 
    var url1 = 'http://192.168.1.1/internet-disconnect'; 
    var url2 = 'http://192.168.1.1/internet-connect'; 
    var delay1 = 120000; 
    var delay2 = 3000; 
    var iframe = document.createElement('iframe'); 
    iframe.style.display = 'none'; 
    document.body.appendChild(iframe); 


    setInterval(function(){ 
     setTimeout(function(){iframe.src= url1;},delay1); 
     setTimeout(function(){iframe.src= url2;},delay2); 
    },delay1+delay2) 
} 
관련 문제