【问题标题】:Show a loading symbol whilst running a PHP script在运行 PHP 脚本时显示加载符号
【发布时间】:2017-05-15 11:01:00
【问题描述】:

我在我的网站上创建了一个注册页面,用户在其中输入他们的详细信息并单击一个按钮,然后进行一些单词检查、发送电子邮件、将信息插入 MySQL 数据库,最后以 die() 语句结束.

唯一的问题是此过程可能需要长达 30 秒,具体取决于客户端的互联网速度。这意味着注册页面会显示很长一段时间,这会使不太精通技术的用户(甚至是非常精通技术的用户!)认为该页面已损坏,这将导致他们关闭网站永远不要回来!

所以我需要一个解决方案,我认为让用户留在网站上的最简单方法是显示一个加载符号,说明它正在工作以及还剩多长时间。尽管浏览器标签中有一个 URL 加载符号,但它移动缓慢,根本没有多少人看到它。

基本上,我要求一种在脚本运行时显示加载符号的方法,然后在到达die() 语句时消失。我不介意它是用哪种语言编写的,但我更喜欢 PHP。

提前致谢

【问题讨论】:

  • 你必须明白,php: php 在服务器上回显内容是什么 -> 你的浏览器加载了这个内容 -> 如果内容加载了,你的浏览器会查看!而您的浏览器的加载时间确实等待并且不显示任何内容或可能显示部分内容。您需要在 php 之外使用 js。

标签: php mysql loading die


【解决方案1】:

实现这一点的最简单方法是使用一些 JavaScript 将事件侦听器附加到表单的 submit 事件,然后显示来自该事件侦听器方法的一些消息/加载图标/某些内容。

一个简单的例子(但还有很多其他方法):

...
<form ... onsubmit="showLoadingMessage();" ...>
...

<script>
function showLoadingMessage() {
  var message = document.createElement('div');
  message.innerHTML = 'We are working. Please wait...';
  document.body.appendChild(message);
}
</script>

当然,您可以显示其他任何内容来代替简单的文本消息,并且可以将该消息 div 附加到或定位到您想要的位置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多