我有一个 Servlet,它制作并返回一个 zip 文件 像这样
 response.setHeader("Pragma","Public");
            response.setHeader("Cache-Control","must-revalidate,post-check=0,pre-check=0");
            response.setContentType("application/octet-stream");
            response.setHeader("Expires", "0");
            response.setHeader("Content-Transfer-Encoding", "binary");
            if(file.getName().contains("–")){
                response.setHeader("Content-Disposition", "inline; filename=\"file.zip\"");
            }
            OutputStream os = response.getOutputStream();
            ZipOutputStream zos = new ZipOutputStream(os);
            for (File f : files) {
                //add files, it's working...
                }
                bis.close();
                fis.close();
                zos.closeEntry();
            }
            zos.flush();
            zos.close();
            os.flush();
            os.close();
目前要下载我使用的是 iframe,所以我设置了 src 属性来开始下载。调用此函数时加载下载帧
function loadIDownloadFrame(url) {
    document.getElementById("idownloadFrame").src=url;
}
但是现在,我需要在不离开当前页面的情况下返回 zip 文件后显示一条消息。我需要知道 servlet 是否返回了 zip 文件。
我尝试使用“window.frames['idownloadFrame'].document.readyState”获取 iframe 状态,但状态始终为“完成”。
任何人有任何解决方案?