[Zope] Telling Users to Wait
   
    Martijn Pieters
     
    mj@zope.com
       
    Mon, 19 Nov 2001 16:07:59 -0500
    
    
  
On Mon, Nov 19, 2001 at 03:52:14PM -0500, Casey Duncan wrote:
> On Monday 19 November 2001 02:39 pm, Edmund Goppelt allegedly wrote:
> > How do I warn my users that a given Zope page will take a long time to
> > load?  Is there any way to load a preliminary "please wait this may
> > take a while" page while the user waits for the real page to load?
> 
> The only way I know of is to use Javascript (although there may be a RESPONSE 
> header you can set). Use something like this as the page with the wait 
> message:
> 
> <dtml-var standard_html_header>
> <h2><dtml-var title_or_id> <dtml-var document_title></h2>
> <p>
> This might take a while...
> </p>
> <script type="text/javascript">
>  location.href='http://server/slow_page';
> </script>
> <dtml-var standard_html_footer>
> 
> of course that assumes javascript is turned on. What you can do to make sure 
> it still works without it is to write the original link with javascript and 
> include a <noscript> tag with a link directly to slow_page.
A better way is to use the HTTP Refresh header. Remove the Javascript from
the above example, and add:
  <dtml-call "REQUEST.addHeader('Refresh',
                                '0;URL=http://server/slow_page')">
This will cause the browser to load the slow page URL right after it
received this page.
-- 
Martijn Pieters
| Software Engineer  mailto:mj@zope.com
| Zope Corporation   http://www.zope.com/
| Creators of Zope   http://www.zope.org/
---------------------------------------------