HTML等待服务器时隐藏窗口

时间:2011-11-23 21:10:39

标签: php html

我有一个html表单,其动作设置为我的服务器上的php脚本。该脚本发出Web服务请求并需要几秒钟才能运行。那个PHP脚本然后有一个html主体,其onload属性设置为关闭窗口。这个想法是,在用户提交表单后,窗口关闭,请求被发送到服务器。但是,由于有几秒钟的延迟,用户点击提交,然后它会挂起,直到所有的网络服务完成,然后php脚本按预期关闭窗口。

我希望通过隐藏窗口可以让它看起来更快,因为它们点击提交而无需等待php脚本完成。有没有办法做到这一点?提前谢谢。

3 个答案:

答案 0 :(得分:0)

我认为您可以重定向到一个页面,该页面上有一个gif表示正在加载并在该页面上进行处理。这可能就是我要做的事情。

我不确定你的意思是“隐藏窗户”可能this link正是你所说的。

如果你的意思是最小化窗口,首先,为什么?其次,我不确定你能做到这一点,如果可以,它可能会在javascript(客户端代码)

答案 1 :(得分:0)

不是真的。如果您之前关闭了窗口,则可能无法收到我怀疑的完整处理请求。

不确定为什么你甚至会关闭浏览器窗口。在大多数标签式浏览器中,关闭窗口的效果可以忽略不计。

如果你自己的弹出窗口正在关闭,你可以将表单提交目标定位到父窗口,然后弹出窗口可以更快地关闭。

我并不完全掌握PHP的可能性,但如果您对将Web服务结果发送到浏览器不感兴趣,那么您可以将它们放在单独的作业/线程/进程(无论如何)并等待他们完成之前做出回应?

答案 2 :(得分:0)

当您将formdata发送到Web服务时,其余部分将在服务器上发生,因此您应该能够将onload脚本移动到按钮的onclick事件。

这样的东西
<input type="Button" onclick="document.thisform.submit();window.close();" value="Click" />

这是由head编写的,因此它可能包含一些错误。