我想从服务器下载文档。在服务器中创建文档需要一些时间,我需要测量从客户端单击链接到下载过程结束所需的时间。 (或下载的开始?)
对此有何看法?
由于
答案 0 :(得分:2)
在评论中重新更新:
当用户点击链接时,我想通知用户正在处理请求;像“请等待”之类的东西。当服务器端进程完成并开始下载时,“请等待”文本应该是不可见的。
正如我在评论中所说,对于文档下载而言,这并不像网页那样容易。
一种可以保证工作的方法是将文档加载到iframe中(以便整个页面不会冻结),并使用Ajax从外部文档轮询文档的生产状态。如果您可以使生成PHP脚本的文档将生产状态(“工作”/“已完成”或甚至百分比值)写入Ajax调用可以经常查询的文本文件中,那么可以轻松地实现这一目标。您可以通过必须在包含下载链接的页面中创建的唯一随机密钥命名文本文件,并将其传递给生成文档的脚本。
你可能能够以某种方式查询IFrame的状态,但我不知道这样做的定义方式:不会有onload
事件(因为不会加载任何文档 - 一旦浏览器收到预期文件下载的信息,它将弹出“另存为”对话框并完全保留IFrame的上下文。但是可能只有在生成文档时(即内容类型和其他标题已被发送时)才设置IFrame的src
属性 - 您必须尝试。< / p>
答案 1 :(得分:0)
我使用Google Chrome的开发者工具来跟踪时间。它区分连接服务器所需的时间和下载时间。
要使用,请按Ctrl + Shift + I,然后转到资源选项卡。访问您的页面,您应该在点击时找到它,它会告诉您可能需要的所有时间。
这将从客户的角度告诉您。如果您想知道服务器生成文档需要多长时间,那么您需要从服务器端编码的角度探讨这一点:)