This should work:

<!-- Page-caching (preloading), using an invisible iframe (below) -->
<a href="javascript: void(0)" onclick="parent['ifr'].location.replace('some_page.html')" >Some page</a>

<!-- Going to the cached page after the iframe has finished loading -->
<iframe name='ifr' src='about:blank' style="position:absolute; left: -10000px" onload="if(frames['ifr'].location!='about:blank'){location.href=parent['ifr'].location.href}"></iframe>

I tested this with the Google Chrome browser (badly known for producing screen flicker op page change), and it seems to work most of the time with a decent server. The flicker is gone.
It does not work, however, with very slow servers. In theory, it should work all the time and with each and every server! What am I missing?
Thanks in advance,
Arie Molendijk.