• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 212
  • Last Modified:

Reloading a Page

Hi

I'm having trouble getting Coldfusion to relaod a page automatically without the user having to press the 'refresh' button.

I have an Intranet home page which pulls in all sorts of info from a database, which includes such things as a Bulletin Board, etc.  If someone adds something new to the Bulletin Board and then goes back to the home page, the new item does not appear without the person pressing 'refresh'.

Everyone within the company is using IE.  I realise I can get people to change their IE settings by going to Tools > Internet Options > General. And then selecting 'Every visit to the page' under 'Check for newer versions of stored pages', but I don't like this solution and would prefer it to be done for the user automatically.

Any ideas?

Thanks in advance.
0
nelliott
Asked:
nelliott
  • 4
  • 2
  • 2
2 Solutions
 
MauseCommented:
try to add this to your page:
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
so the page is not cached

Mause
0
 
proceptCommented:
Hi,

add the following lines to your home page:
<cfheader name="expires" value="#now()#">
<cfheader name="Pragma" value="no-cache">
<cfheader name="Cache-Control" value="no-cache, no-store, must-revalidate">

the last one is the same as Mause's META-Tag.

Unfortunately some browsers/proxies still cahce pages instead of those settings. The only way to avoid that is to add an URL parameter to each link, that makes the page unique:
<a href="myPage.cfm?rnd=#getTickCount()#">Click here</a>

Don't forget to use <CFOUTPUT> around those links!

HTH,

Chris

0
 
MauseCommented:
Procept I think its better to use the value 0 instead of #now()#  (now() Returns the date and time of SERVER) so:
<cfheader name="expires" value="0">

That will do the trick

Mause
0
Free recovery tool for Microsoft Active Directory

Veeam Explorer for Microsoft Active Directory provides fast and reliable object-level recovery for Active Directory from a single-pass, agentless backup or storage snapshot — without the need to restore an entire virtual machine or use third-party tools.

 
proceptCommented:
Mause,

I don't know whether 0 is better or now()....

But, I use those tags, plus (if that isn't enough) the getTickCount()-method, and, it works. :-))

Chris
0
 
MauseCommented:
I also think it will work...

but (if Im 'not wrong) the date in meta-expires is GMT and not the local time and if the value is 0 it will be interpreted as in the past .

but on the other hand now() generate something like this:
{ts '2003-11-06 10:54:11'}
and does not look this
Tue, 20 Aug 1996 14:25:27 GMT
so i guess it will not take now() as a valid value (just like 0)


Mause
0
 
nelliottAuthor Commented:
Hi

Thanks for your advice.  I've tried all of these, but I'm still not getting the page to refresh.

Looks as though the browser is still caching my query, as when I change the Settings in IE the page will refresh automatically.

Is there anything I can do in the Coldfusion Administrator to change the settings?

Thanks in advance
0
 
MauseCommented:
Did you open the page width these meta tags in it or was it still the old page!
make sure it is the page width these metatagss and then do something and go back to the homepage

Mause
0
 
nelliottAuthor Commented:
Bingo!

Lucky you were on the ball Mause, because I certainly wasn't!

Many Thnaks to you both for your advice.

Only fair to split the points I think!

Cheers
0

Featured Post

Get your Disaster Recovery as a Service basics

Disaster Recovery as a Service is one go-to solution that revolutionizes DR planning. Implementing DRaaS could be an efficient process, easily accessible to non-DR experts. Learn about monitoring, testing, executing failovers and failbacks to ensure a "healthy" DR environment.

  • 4
  • 2
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now