简体   繁体   English

交替自动重新加载两页

[英]Auto-reload TWO pages alternatingly

How to implement the following in JavaScript or so? 如何用JavaScript左右实现以下内容?

 - 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

Here's how I was trying: 这是我的尝试方式:

<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>

But it's messy and doesn't work the way it should. 但这很杂乱,无法正常工作。

Thanks! 谢谢!

Use setInterval() instead if setTimeout() 如果使用setTimeout(),请改用setInterval()

Try this 尝试这个

<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>
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)
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM