【问题标题】:Auto-reload TWO pages alternatingly交替自动重新加载两个页面
【发布时间】:2014-12-19 12:11:50
【问题描述】:

如何在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

这是我的尝试:

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

但它很混乱,不能按应有的方式工作。

谢谢!

【问题讨论】:

  • 这在什么方面不能按您想要的方式工作?还有它的 6 行代码,你想要它有多整洁?将两个 iframe 一起加载并显示/隐藏它们怎么样?
  • 回复:没有按应有的方式工作。;那你有什么问题?每个脚本都“按应有的方式工作”,因为这些是您给计算机的命令。当然,它们与 您的意图 不同是另一回事 :-) 您应该描述您得到的行为,以及这与您的预期有何不同>,因为这对每个人来说都不容易说出来。
  • idea 听起来很乱,听起来也像是 x-y 问题。或许你应该解释一下为什么你想这样做
  • “错误”的脚本只能运行一次。在第二次重复时,它不再加载第二页。我想在无限循环中交替加载两个页面。

标签: javascript html ajax reload


【解决方案1】:

如果 setTimeout() 则使用 setInterval()

试试这个

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

【讨论】:

  • 很遗憾什么也没发生,原来的 iframe 内容保持不变。
【解决方案2】:
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)
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-10-20
    • 1970-01-01
    • 2010-09-22
    • 2020-07-22
    • 2020-06-22
    • 2011-05-17
    • 2013-02-22
    相关资源
    最近更新 更多