
Hey there,
I'm in the process of writing a simple digital signage application, which is essentially some javascript displaying in a fullscreen webrowser which scrolls the contents of a HTML file up the screen. That side of it works well.
I've also written a simple interface to update the contents.htm file using FCKeditor, but at the moment to get it to display the new contents requires a manual refresh of the webpage, which isn't ideal. (the screens for this are going to be fairly high up on a wall, and the PC is going to be the other side of the wall)
What i'm looking for is some javascript or simelar which will automatically refresh the page only if the contents.htm file has been changed. Is this possible?
I know I could use a set timed refresh on the page, say every 5 minutes, but the javascript takes a while to get going when you load the page, and I don't really want it doing this every 5 minutes if it can be helped. The contents are likely to only be updated once or twice a week.
Any ideas gratefully received.
Mike.
perhaphs you could do it with AJAX?
You can do this within HTML. In between the <head></head> tags add the following
<META HTTP-EQUIV="refresh" CONTENT="300">
This will reload the page every 5 mintues, the CONTENT is in seconds, so you can change this accordinly.
HTH
Cheers
N

The OP specifically said he didn't want a timer like that.
Mind you, I don't have a better solution other than suggesting a manual refresh if its only modified once or twice a week as opposed to making something complicated which needn't be.

There's no need to refresh the whole page at all - simply have your controlling page re-load the contents.htm file every 5/10/whatever minutes. How are you loading content.htm into the containing page - are you loading it in to a hidden DIV element? If so, use a Javascript timer to delete the contents of that DIV periodically and load contents.htm again. Might even be simper to use a for loop - run 10 times around the loop, reload contents.htm, start again.
--
David Hicks
Ajax feels like the right answer (it's a good buzzword so it must be right :-))
The other thing might be to have a script running which checks to see if there's new content every 5 minutes. If it finds new content then it refreshes the browser.
Code below is not complete - I don't know how you will determine if there is new content but I'm guessing you'll query a database for a "last updated" field??
Set oIE=createobject("internetexplorer.application")
Do While (oIE.Busy)
Wscript.Sleep 250
Loop
oIE.width=1024
oIE.height=768
oIE.left=0
oIE.top=0
oIE.visible=true
oIE.navigate "http://server/sign.htm"
do
wscript.sleep 5*60*1000 ' sleep 5 minutes
'code here to query database for new content
if bNewContentFound then
oIE.navigate "http://server.sign.htm"
end if
loop
There are currently 1 users browsing this thread. (0 members and 1 guests)