2013-01-20 70 views
0

我正在使用FPDF在iFrame中創建PDF文檔...在創建PDF期間,腳本與服務器進行通信並獲取大量數據,然後我想顯示一個進度條..這就是爲什麼我已經把php生成器放在一個iFrame中了..然後我的計劃是,php腳本可以將循環數據發送到父窗口..PHP將數據發送到父窗口而不使用javascript

eg每一次循環制成它說$count++;,那麼我知道它經歷了多少個循環,而且我已經知道它將限制行到前200行。然後我想要顯示循環數據父親的寡婦是這樣的:$count of §goal has been generated successfully! ..目前我正在使用jQuery,在那裏我要求php到echo一些jQuery腳本,每次循環顯示結果,如window.parent.count($count, $goal); .. Count在父winodw中,它實際上運行良好,直到PDF必須顯示..然後我得到一個錯誤信息,告訴我,該腳本無法顯示PDF,因爲頁面已經輸出數據..

有誰知道如何使PHP發送數據到父窗口,所以我prevet使用echo

對不起我的英文不好..如果希望我可以嘗試上傳我的劇本給你看......

+1

PHP無法向客戶端**發送任何**。一般來說,PHP對iframe,父窗口甚至窗口一無所知。它只能迴應客戶提出的請求。 –

+0

是否有另一種方式通過PHP執行JavaScript,而不是回顯腳本,然後呢? – Dimser

回答

1

我這樣做有點不同......

我還寫了一份申請其中PDF生成器需要獲取相當大量的數據,因此生成需要幾秒鐘的時間。

我使用jQuery在後臺獲取php頁面。在此下載過程中,屏幕變爲灰色,並顯示經典的「請稍候」 - 圈。生成完成後,php文件生成的唯一輸出是「OK」回顯,以及文件鏈接。我將PDF保存在一個文件夾($pdf->Output('filename.pdf','S'))中,並使用提供的鏈接和jQuery回調進行下載。

我希望你明白我的意思。也許這個想法會幫助你更進一步。

編輯:不知道這是否會工作,但我只是想到了它... 您可以保存文件並輸出文件名。使用jQuery,您可以刷新iframe的內容以獲取顯示已保存的PDF的頁面...

+0

我喜歡這個想法.. :)但事情是,這是用來創建一個大小爲60毫米×44毫米的標籤列表。該腳本從服務器獲取價格和庫存信息,並在PDF文檔中生成可以直接從網頁打印的標籤列表。因此,如果我必須保存文檔,然後將其下載到文檔中,它將不會像直觀因爲我希望它是.. :)但是,感謝輸入.. – Dimser

+0

這是我能想到的顯示某種等待它的對話的唯一方式,因爲 - 就像你上面已經說過的你的常識 - PHP無法發送任何客戶端。我正在更新我的答案以包含一些新的想法。 –

+0

哦,是的..我可以在本地保存PDF文件,然後設置jQuery發回一個命令回父窗口將iframe源文件更改爲PDF文件..這可能工作.. :)好主意 – Dimser

相關問題