2013-01-02 63 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"; 
}); 
相關問題