下载附件后Onbeforeunload不工作

onbeforeunload not working after downloading attachment

本文关键字:工作 Onbeforeunload 下载      更新时间:2023-09-26

我有一个jsp页面home.jsp,它分为两个框架Header和Content。在我的内容框架中,我有一个像这样调用servlet的链接

<a href="downloadAttach">download</a>

JavaScript函数downloadattach有如下一行:

window.location="RetrieveFile.display";

RetrieveFile是一个servlet,它从共享位置获取文档并将其写入outputstream,以便我获得保存/取消/打开附件的选项

此外,内容框架中的所有页面都有下面一行代码,以确保页面不被缓存到浏览器中:

window.onbeforeunload=function(){window.location.replace("<%= request.getcontextPath()%>/home.jsp")}

此外,在我的home.jsp中有以下脚本,以确保在卸载home.jsp时显示警告消息。脚本如下:

window.onbeforeunload=function(){return "sure you want to go away"};

现在假设我在google中,然后移动到home.jsp,然后单击下载附件链接。附件已正确下载。之后,我在jsp上做任何导致页面刷新的操作,比如提交表单或关闭表单,然后按浏览器返回,我的home.jsp卸载,我被带到google,弹出消息没有显示。如果我执行完全相同的步骤并刷新或关闭浏览器,则会出现消息。我还尝试在servlet中设置缓存控制的头,但没有任何区别。我使用ie8

我发现这个Jquery适用于我类似的问题:

$(window).bind('beforeunload', function() { 
 return "sure you want to go away";
});