js加载页面消息不能在php文件上运行

时间:2010-12-26 00:46:07

标签: php javascript html

圣诞快乐,

我找到了一个使用gif显示加载消息的代码。它使用body标签中的onLoad =“init()”。它在HTML文件上工作正常,但是当文件在PHP中时则不能。我需要更改此处的任何内容,否则这将无法在PHP文件中运行?这是代码:

<body onLoad="init()">
   <div id="loading" style="position:absolute; width:100%; text-align:center; top:300px;">
   <img src="loading.gif" border=0></div>

   <script>
     var ld=(document.all);
     var ns4=document.layers;
     var ns6=document.getElementById&&!document.all;
     var ie4=document.all;
     if (ns4)
   ld=document.loading;
     else if (ns6)
   ld=document.getElementById("loading").style;
     else if (ie4)
   ld=document.all.loading.style;

  function init() {
     if(ns4){ld.visibility="hidden";}
     else if (ns6||ie4) ld.display="none";
  }
  </script>

  <?php

  include('simple_html_dom.php');

  $html= new simple_html_dom();

  $html->load_file('urls.html');

  $element = $html->find("p");
  $size = count($element);

  for($i=0; $i <= $size ;$i++){

printinfo($element[$i]->innertext);
  }

  function printinfo($url){

$page= new simple_html_dom();

$page->load_file($url);

$arr = $page->find("title");
echo $arr[0]->innertext." = ";  

$arr = $page->find('.altroute-rcol');
echo $arr[0]->innertext."<br>";
  }
  ?>

  </body>

编辑:我的PHP代码所做的是解析一些代码并显示我需要的信息。代码工作正常,具体取决于我需要解析它的网址数量可能需要多达30秒,这就是我需要加载消息的原因。

提前致谢!!!

1 个答案:

答案 0 :(得分:4)

PHP响应在完成处理之前不会开始加载。在浏览器逐步显示HTML页面的情况下,PHP页面通常会一次显示。

您可以通过在要发送部分响应的位置调用flush()来强制显示PHP响应,但服务器之间的支持会有所不同。

在解析XML之前尝试放置flush();,并告诉我们是否有帮助。