2013-01-02 62 views
1

我有一个jsp页面home.jsp,它被分成两个帧头和内容。 在我的内容框架,我这就要求这样onbeforeunload下载附件后无法正常工作

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

JavaScript函数dowloadAttach一个servlet有一个链接下面这样一行:

window.location="RetrieveFile.display"; 

RetrieveFile是一个servlet,它接受一个文件从共享位置并将其写入输出流,以便我可以选择保存/取消/打开附件

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

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

此外,我有以下脚本在我回到Home.jsp,以确保无论何时,将针对home.jsp被卸载时显示警告信息。剧本是这样的:

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

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

+0

错字在'window.onbeforeunload =温控功能()' – jbabey

+0

更新...:)...但是这不是问题!!! – user1850675

+0

@ user1850675我想我有一个类似的问题,在我的主页上加载一个窗口以获取一些细节后,关闭此事件,onbeforeunload不再在主页上触发。你最终解决了这个问题吗? – iss42

回答

0

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

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