當用戶點擊超鏈接時,我打開一個下載文件的彈出窗口。下載後,顯示打開/保存對話框。我想在下載完成後關閉彈出窗口(當提示用戶保存文件時)。 我試過window.close方法,但它不工作,因爲上下文不是彈出窗口,而是打開/保存對話框。下載文件後關閉瀏覽器彈出頁面
5
A
回答
5
我認爲你不能以編程方式控制它。這是瀏覽器特定的事情,其中一些瀏覽器允許您在複選框上打勾以關閉窗口等等。
1
瀏覽器有自己決定是否嘗試下載文件或在瀏覽器窗口內打開文件的習慣,具體取決於使用的瀏覽器,插件和服務器設置。這聽起來像你可能會在新窗口中打開鏈接,就好像瀏覽器打開文件而不是下載文件,然後瀏覽器選擇了下載。這使用戶無法控制下載的文件和空白窗口。
要強制下載,您應該能夠爲應用程序/強制下載鏈接的目標設置Content-Type標頭。你如何做到這一點將取決於你的設置,以及文件是否直接下載(在這種情況下,它將是一個服務器設置)或通過PHP或.Net(在這種情況下,很容易以編程方式設置標題)。還要確保超鏈接沒有在新窗口中打開鏈接的target="_blank"
屬性。
2
你可以做一兩件事:
步驟1中的 「在你的servlet或Struts操作使用的文件編寫代碼」 後
:所謂的 「response.flushBuffer();」 第2步:調用response.sendRedirect是( 「close.htm」)
其中close.htm是:
<html>
<script>
window.close();
</script>
</html>
唯一的問題是確定下載是否完成。我不認爲有這樣做的可能性。無論如何,是否有任何使用彈出窗口,直到下載完成。一旦下載啓動,您可以簡單地關閉彈出窗口。使用下面的JavaScript,不是嗎?
pop_up= window.open("", "PopUpName");
pop_up.document.write('POPUP TEXT');
pop_up.close();
0
這是瀏覽器功能,您可以更改瀏覽器設置。你不應該去編程。默認情況下如果你將下載文件在Firefox中它要求保存,但在Crome這是不問。 您需要更改瀏覽器的設置。
相關問題
- 1. IE瀏覽器不關閉,文件下載彈出窗口需要關注
- 2. Selenium關閉瀏覽器彈出窗口
- 3. 關閉彈出窗口關閉直到瀏覽器關閉
- 4. jsf按鈕關閉瀏覽器頁面
- 5. 將二進制文件發送到瀏覽器後關閉彈出窗口
- 6. Watin-如何下載pdf文件與IE瀏覽器彈出
- 7. 在達到特定頁面後彈出瀏覽器返回到父瀏覽器
- 8. 如何使瀏覽器在加載頁面後下載外部文件?
- 9. 在後臺加載瀏覽器頁面
- 10. 如何在完成下載後關閉瀏覽器?
- 11. 關閉彈出窗口後重新加載父頁面
- 12. jquery彈出框頁面加載和自動關閉後超時
- 13. 瀏覽器下載index.php文件,而不是打開頁面
- 14. 使用「beforeunload」關閉彈出頁面時加載頁面
- 15. 在關閉瀏覽器頁面之前捕獲頁面
- 16. 關閉瀏覽器事件
- 17. 瀏覽器關閉事件
- 18. 在瀏覽器重新加載/關閉瀏覽器/退出頁面之前執行Javascript函數?
- 19. 機器人框架關閉瀏覽器彈出窗口
- 20. Mediawiki disable關閉公衆瀏覽頁面
- 21. 僅當用戶保存下載的文件時關閉彈出式瀏覽器窗口
- 22. 文件完成下載到瀏覽器後,如何修改頁面?
- 23. 處理瀏覽器關閉事件和頁面刷新
- 24. 關閉瀏覽器
- 25. 檢測刷新瀏覽器卸載/ beforeunload當瀏覽器關閉
- 26. Safari瀏覽器重新加載網頁下載頁面
- 27. 卸載時關閉瀏覽器窗口
- 28. 瀏覽器彈出窗口阻止程序已關閉/打開
- 29. 如何檢測瀏覽器關閉,並彈出警告信息
- 30. 在瀏覽器窗口關閉前顯示jQuery彈出窗口
是的。一些用戶喜歡將該窗口粘在一邊,例如。所以他們可以在下載後運行'運行';他們更喜歡它,你不應該試圖干涉(不是你可以)。其他所有不喜歡這種行爲的人都會挑起盒子讓它消失。 – bobince 2010-01-18 14:57:55