我找到了一个使用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秒,这就是我需要加载消息的原因。
提前致谢!!!
答案 0 :(得分:4)
PHP响应在完成处理之前不会开始加载。在浏览器逐步显示HTML页面的情况下,PHP页面通常会一次显示。
您可以通过在要发送部分响应的位置调用flush()
来强制显示PHP响应,但服务器之间的支持会有所不同。
在解析XML之前尝试放置flush();
,并告诉我们是否有帮助。