2011-03-28 102 views
1

我的網頁上有一個pdf文件的鏈接。點擊鏈接需要很長時間,所以我想拋出一個進度指示器gif,顯示它需要一段時間。但是,一旦在服務器端生成pdf並完成下載,你如何隱藏指示器? (基本上你的瀏覽器現在說你打開一個pdf文件,並要求你做什麼)下載PDF後如何停止進度指示器

在這一點上是否有一個事件,火災或任何我可以輪詢檢查隱藏進度指示器?

回答

3

JavaScript無權訪問正在下載的內容。您可以做的唯一事情就是將PDF加載到Iframe中,並將Ifload事件連接到Iframe上。即使這樣,事件將在PDF開始加載時觸發,而不是在完成時觸發。

編輯kalendae有其他答案。

如果您有服務器端訪問權限,您可以在響應中設置cookie並在客戶端上輪詢其值。

請參閱:http://geekswithblogs.net/GruffCode/archive/2010/10/28/detecting-the-file-download-dialog-in-the-browser.aspx

+0

謝謝iframe onload事件是一個好主意。 – Kalendae 2011-03-28 22:27:10

+0

只是試了一下,它不起作用。在iframe中加載新頁面將觸發加載回調,但將PDF加載到iframe中並不會導致iframe上的onload事件。還有其他一些事件會被解僱嗎? – Kalendae 2011-03-29 00:11:11

+0

我接受了這個答案,因爲它是唯一的答案,但解決方案實際上並不奏效。相反,我用這個網站上的解決方案:http://geekswithblogs.net/GruffCode/archive/2010/10/28/detecting-the-file-download-dialog-in-the-browser.aspx – Kalendae 2011-04-12 00:28:05