Flushes currently available data to the client.
<cfflush interval = integer number of bytes>
cfcache,
cfheader,
cfinclude,
cfsetting,
cfsilent
The first time you use the cfflush
tag on a page, it sends back the HTML headers and any other available HTML. Subsequent cfflush
tags on the page send only the output that was generated since the previous flush.
When you flush data, ensure that enough information is available, as some browsers may not respond if you flush only a very small amount. Similarly, set the interval
attribute for a reasonable size, such as a few hundred bytes or more, but not many thousands of bytes.
Use cfflush
with 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) may cause unexpected errors when CFML tags that modify HTML headers are executed.
Caution Once you have used the |
Note Normally, |
The following example uses cfloop
tags and the rand
random number generating function to delay the generation of data for display. It simulates a situation in which a page is slow to retrieve its first data, and in which additional information is generated slowly, and can be displayed incrementally.
<html>
<head> <title>Your Magic numbers</title> </head> <body> <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 is 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 number #Myindex# is: #RandRange( 100000, 999999)#<br><br> </cfoutput> </cfloop> </body> </html>