如何在从 ob_start() 打印缓冲区内容之前显示加载动画?
我有一个运行相当长一段时间的脚本,我使用 ob_start() 来缓冲输出并在脚本执行完成后打印结果。
我需要在脚本执行时显示一些加载动画,并在脚本执行完成时将其替换为输出。
我知道使用 JavaScript 和 jQuery 可以非常漂亮地完成它。我只是想知道是否可以单独使用 PHP 来完成?
有没有任何库可以让 PHP 做到这一点?
I have a script that runs for quite a while and I am using ob_start()
to buffer the output and print the result after the script finishes executing.
I need to show some loading animation while the script executes and replace it with the output when the script finishes executing.
I know that it can be done quite beautifully with JavaScript and jQuery. I was just wondering whether it can be done using PHP alone?
Is there any library that allows PHP to do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
不幸的是,您无法使用 PHP(在服务器上运行)来更改已发送到客户端的 HTML。
换句话说,您可能必须使用 JavaScript 来实现您想要做的事情。
Unfortunately you can't use PHP (Which is running on the server) to alter the HTML that has already been sent to the client.
In other words you are probably going to have to use JavaScript to achieve what you want to do.
您无法仅使用 PHP 替换已发送的内容。您只能附加到它。我没有看到任何实用的方法可以单独使用 PHP 完成您想要做的事情。
You can't replace content you have already sent with just PHP. You can only append to it. I don't see any practical way of doing what you want to do with PHP alone.
您可以尝试这样的事情:
但是……它仅适用于 Opera。 :)
IE、WebKit 和 Gecko 将在渲染任何内容之前等待最后一点。
哦,这是无效的标记。
You could try something like this:
But … it works in Opera only. :)
IE, WebKit and Gecko will wait for the last bit before they render anything.
Oh, and it’s invalid markup.