如何在从ob_start()打印缓冲区内容之前显示加载动画?

时间:2010-03-26 09:54:46

标签: php dom output-buffering

我有一个运行了一段时间的脚本,我使用ob_start()缓冲输出并在脚本执行完毕后打印结果。

我需要在脚本执行时显示一些加载动画,并在脚本完成执行时将其替换为输出。

我知道使用JavaScript和jQuery可以很好地完成它。我只是想知道是否可以单独使用PHP来完成它?

是否有允许PHP执行此操作的库?

3 个答案:

答案 0 :(得分:2)

不幸的是,您无法使用PHP(在服务器上运行)来更改已发送到客户端的HTML。
换句话说,您可能不得不使用JavaScript来实现您想要的目标。

答案 1 :(得分:0)

您无法仅使用PHP替换已发送的内容。你只能追加它。我没有看到任何实际的方法来做你想用PHP做的事情。

答案 2 :(得分:0)

可以尝试这样的事情:

<!Doctype>
<title>hide later</title>
<p>Wait 3 seconds</p>
<?php
ob_start();
sleep(3);
?>
Done!
<style>p{display:none}</style>
<?php
ob_end_flush();

但是......它仅适用于Opera。 :) IE,WebKit和Gecko会在渲染任何东西之前等待最后一点。 哦,这是无效的标记。