2010-10-15 23 views
-1

我有一個腳本需要提交給iframe並獲取返回值。但是,我正在提交的coldfusion頁面需要​​執行與返回值無關的額外處理,所以我想將值返回給iframe,然後在執行其餘處理之前將iframe重定向到about:blank以便用戶不必等待。CFFlush似乎不能在Chrome和IE中工作

我認爲cfflush會是這裏的理想解決方案,但它似乎只能在Firefox中工作。 IE和Chrome都等到整個腳本運行完畢,忽略cfflush標記。這不會這麼做,因爲處理腳本(它將文件上傳到外部服務器)可能需要很長時間纔會使瀏覽器超時。

test.cfm: http://pastebin.com/Jj1njg5z

junk.cfm:

<cfset thread = CreateObject("java", "java.lang.Thread")> 
About to sleep for 5 seconds... 
<script>parent.loadComplete('Done Loading.')</script><cfflush> 
<cfset thread.sleep(5000)> 
Done sleeping. 

我使用jQuery和ColdFusion MX 6個

感謝您的閱讀。

+0

你使用的是IIS嗎? – Henry 2010-10-15 19:12:26

+0

如果是這樣,設置responseBufferLimit =「0」請參閱:http://stackoverflow.com/questions/687133/how-can-i-force-iis-7-to-flush-output – Henry 2010-10-15 19:21:41

回答

4

有時瀏覽器不會「畫」時,它不覺得它有足夠的內容。我在IE中已經看到了這一點。試試這個:

<cfoutput>#repeatString(" ",250)#</cfoutput> 
+0

解決它,謝謝你的幫助! – 2010-10-15 19:30:00

+1

我不知道當前的版本,但IIRC IE6需要類似2k或EOF之類的東西才能繪製任何內容。 – 2010-10-15 21:14:03

相關問題