【问题标题】:How to to display separate iframe in every N second?如何在每 N 秒内显示单独的 iframe?
【发布时间】:2018-03-14 01:27:20
【问题描述】:

我已经阅读了一些帖子并进行了一些研究,然后才询问是否有任何重复的帖子,对此感到抱歉。

它有点类似于this question,但我不希望网页继续循环,我希望网页分别显示在每个 iframe 中。我想每隔 N 秒显示一些带有 iframe 的网站,预期的结果就像下面的命令代码:

@echo off
echo "Webpage 1"
timeout 5 >nul
echo "Webpage 2"
timeout 3 >nul 
echo "Webpage 3"
timeout 4 >nul

当我尝试使用 php 进行操作时,我使用了以下代码:

<iframe src="http://example.com/page1" width="50%"></iframe> 
<br>
<?php sleep(5); ?>
<iframe src="http://example.com/page2" width="50%"></iframe> 
<br>
<?php sleep(3); ?>
<iframe src="http://example.com/page3" width="50%"></iframe> 
<br>
<?php sleep(4); ?>

如何避免这些页面同时显示?

【问题讨论】:

  • 这个php需要用javascript单独做不了
  • 你的例子让我很清楚,你并不完全确定 PHP/Webserver、HTML、JavaScript/Webbrowser 之间的关系是如何工作的......你应该寻求完全理解客户端/服务器责任。您的sleep()服务器上执行,只是延迟将HTML 的其余部分发送到客户端。
  • 嘿,不确定 [Solved] 是否是一个有效的标签 - 这不会妨碍将来发布更好的解决方案吗?

标签: php sleep wait printing-web-page


【解决方案1】:
//need jquery 
urlLists = [ "http://example.com/page1", "http://example.com/page2" ];
key = 0;
//loop
$(document).ready(function()
{
    var refreshId = setInterval( function() 
    {

    if(urlLists[key] == undefined){
     key=0;       
    }
      $('iframe').attr('src',urlLists[key]) ;
    key++;

    }, 5000);
});


//stop at last
$(document).ready(function()
{
    var refreshId = setInterval( function() 
    {

    if(urlLists[key] != undefined){
        $('iframe').attr('src',urlLists[key]) ;
         key++;   

    }else{
window.clearInterval(refreshId );
 }


    }, 5000);
});

【讨论】:

  • 这没有按预期工作,它不断循环这些网页,我希望 example.com/page2 保留为最后一页,而不是循环回 page1。
  • 刚刚测试了上面的代码还在循环,对JavaScript不太了解,如果我把
  • 可能是我忽略了一些东西,现在它正在工作,非常感谢!
【解决方案2】:

在您的每个页面中只需刷新标题

header('Refresh: 3;url=http://example.com/page1');

当然是把3换成N的值。

【讨论】:

  • 呵呵,Orange 有什么用?
  • 您介意更具体一点吗?我试图在第 4 行添加到页面头部,但它显示第 4 行返回错误? ------------警告:无法修改标头信息 - 标头已由第 4 行的 D:\wwwroot\test.php 中的(输出开始于 D:\wwwroot\test.php:4)发送
  • 它需要进入正在加载到 iframe 中的页面,并且就像所有标题调用应该在任何输出发送到浏览器之前完成一样,最安全的选择是放在 @ 之后的第一行987654322@
  • 我明白了,它现在有效,但我认为应该有更好的方法。为了使用上面的代码来实现目标,我必须一个一个地编辑每个 iframe 页面标题......如果我想稍后插入另一个新的 iframe 页面,我必须再次编辑所有标题...... .
  • 那么您将不得不选择客户端 (javascript) 解决方案。这基本上是使用 php 的唯一方法。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-02-21
  • 1970-01-01
  • 1970-01-01
  • 2014-10-08
  • 1970-01-01
  • 2013-01-21
  • 1970-01-01
相关资源
最近更新 更多