2011-03-08 104 views
2

我有一個模式對話框,其中包含表單和隱藏的iframe,表單被提交到該模式對話框。提交的結果是文件下載。 只要打開下載對話框,即文件就緒,我需要關閉模式對話框。 我試圖捕捉iframe的'onreadystatechange'事件,但是在將調用狀態改變爲'complete'後,它不會觸發'onreadystatechange'事件。如何在文件下載完成時關閉模式對話框

最終,我使用window.setInterval監視iframe的readyState,並在狀態=='完成'時關閉模態對話框。

解決方案,使用window.setInterval似乎不專業,我正在尋找更好的解決方案,我看到了解決方案,但我不能在我的應用程序中使用cookie。

任何幫助將不勝感激!

+0

可能的重複http://stackoverflow.com/questions/1106377/detect-when-browser-receives-file-download – m0sa 2011-03-08 13:50:46

+0

好的,非常感謝 – yan 2011-03-08 14:16:52

+0

@yan你有沒有看到FF解決方案的同一個問題? – 2012-02-14 15:21:39

回答

2

使用window.setInterval()沒有任何錯誤或不專業。

+0

非常感謝您的快速回復!!!!! 您提供的javascript應該在iframe身上嗎? – yan 2011-03-08 11:29:42

+0

我修改了答案。你應該接受答案,如果它解決了你的問題 – m0sa 2011-03-08 12:13:55

+0

嗨,我不想調用父方法我的iframe是隱藏的,並且不加載它用於提交表單而不刷新頁面的頁面。 我用它來下載文件,並希望在文件下載時關閉模式對話框。抱歉誤會,再次感謝您。 – yan 2011-03-08 13:43:22