You can refresh/redirect a page using META-tags, and go from there. Make sure caching is off if this turns out to be a problem; on the other hand: for a smoother experience, turn it on to create a more seamless refresh. Test if the updated data is properly represented, though.
<META HTTP-EQUIV="REFRESH" CONTENT="15;URL=yourpage.html"> <META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE"> <META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
If the data structure is predictable I would put this in an IFRAME with the scrollbars removed. Of course, if your data is variable (especially in the page height): don't do this.
Funny idea: supply a countdown on your page, even if it's the no-JS page. An animated gif with 15 frames, each lasting 1 second, would do the trick. For example:
"This page will reload in approximately [animated gif] seconds."
Lastly, always provide a reload button separately from the one in your browser. There are a huge amount of people out there that don't know what the browser controls do.
"This page will reload in approximately [animated gif] seconds, or [reload this right now]."
This is a good solution because it:
- communicates that there is likely more new items to load, so the user sees the point in reloading
- shows that the page won't reload on its own, i.e. the user knows that it is up to them to reload
- is not intrusive to the user experience compared, for example, to a page refresh at arbitrary time intervals
- is better usability that to just silently fail or display a