Flushes currently available data to the client.
Data output tags, Page processing tags
<cfflush interval = "integer number of bytes">
cfcache, cfheader, cfinclude, cfsetting, cfsilent
Attribute |
Req/Opt |
Default |
Description |
---|---|---|---|
interval |
Optional |
|
Integer. Flushes output each time this number of bytes becomes available. HTML headers, and data that is already available when the tag is executed, are omitted from the count. |
The first occurrence of this tag on a page sends back the HTML headers and any other available HTML. Subsequent cfflush tags on the page send only the output that was generated after the previous flush.
When you flush data, ensure that enough information is available, as some browsers might not respond if you flush only a small amount. Similarly, set the interval attribute for a few hundred bytes or more, but not thousands of bytes.
Use the interval attribute only when a large amount of output will be sent to the client, such as in a cfloop or a cfoutput of a large query. Using this form globally (such as in the Application.cfm file) might cause unexpected errors when CFML tags that modify HTML headers are executed.
Because the cfflush tag sends data to the browser when it executes, it has several limitations, including the following:
The following example uses cfloop tags and the rand random number generating function to delay data display. It simulates a page that is slow to generate data.
<h1>Your Magic numbers</h1> <p>It will take us a little while to calculate your ten magic numbers. It takes a lot of work to find numbers that truly fit your personality. So relax for a minute or so while we do the hard work for you.</p> <H2>We are sure you will agree it was worth the short wait!</H2> <cfflush> <cfflush interval=10> <!--- Delay Loop to make it seem harder. ---> <cfloop index="randomindex" from="1" to="200000" step="1"> <cfset random=rand()> </cfloop> <!--- Now slowly output 10 random numbers. ---> <cfloop index="Myindex" from="1" to="10" step="1"> <cfloop index="randomindex" from="1" to="100000" step="1"> <cfset random=rand()> </cfloop> <cfoutput> Magic number #Myindex# is: #RandRange 100000, 999999)#<br><br> </cfoutput> </cfloop>