一尘不染

GWT-在加载文件之前执行简单加载屏幕的最简单方法

java

单击按钮时,我的GWT应用程序将返回嵌入HTML页面的PDF文件,该文件如下所示:

<html><head></head>
<body marginwidth="0" marginheight="0" bgcolor="rgb(38,38,38)">
<embed width="100%" height="100%" name="plugin"
    src="http://myserver/?cmd=getMyPdf" type="application/pdf">
</body>
</html>

问题是服务器创建该PDF文件可能需要一段时间,所以我想要的是一个带有加载动画的等待屏幕,该动画可以在后台下载PDF文件,然后在完成文件后显示页面如上所述。

一种明显的方法是显示一个加载页面,向服务器发送异步命令,然后在调用onSucceed方法后,正常调用该页面。缺点是我必须添加一些服务器端逻辑以使PDF创建在后台工作…

有什么办法可以通过GWT API在客户端进行此操作?


阅读 189

收藏
2020-12-03

共1个答案

一尘不染

您是否看到此stackoverflow问题
检测浏览器何时下载文件?基本上,给出的答案是您在返回响应中设置一个cookie,然后在客户端等待该cookie的设置。使用GWT可以轻松完成此操作,因为它具有调度程序(用于重复的计时器检查),并且可以轻松访问Cookie。您仍然需要进行一些服务器更改,但是不必创建后台进程。

2020-12-03