473,404 Members | 2,179 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,404 software developers and data experts.

"please wait" type page without javascript?

Hi all,

I have database actions that will potentially take several seconds to
complete.

My normal page uses AJAX so keeping the user informed of what is
happening is not a problem.

However, the page also has fallback code in case of no Javascript. In
this case I would like to display temporary "please wait" type page
whilst the DB search is taking place.

I originally thought I would serve up the wait page, and then use meta
refresh to immediately request the page that actually does the search.
That way the wait page would be displayed as long as the search took
to complete and markup was returned to the browser.

However, on reading up about meta refresh, it appears this is now
depreciated, and is frowned upon anyway as it messes up the Back
button.

So, do I?
1) Do it anyway
2) Forget the waiting page, and just load the search page direct
3) Use some other friendlier method to keep the user informed (Not
that I can think of any)

Cheers,
Jeremy
Feb 16 '08 #1
5 3212
Hi,

You can have a warning for restricted browsers if it's say under 10
seconds or so:

<noscript>
<p style="color: red;">Warning: This operation may take several
seconds. Please do not
close your web browser during this operation. Note: Enable
JavaScript
to remove this warning.</h1>
</noscript>

Regarding the back button, some browsers will skip over the meta
refresh page when traversing the history so in that case it wouldn't
be a problem. Even if that doesn't happen, if the refresh interval
isn't too short, the user will still be able to go back without much
difficulty.

On Feb 16, 6:48 pm, Jer...@thebunnyshed.co.uk wrote:
Hi all,

I have database actions that will potentially take several seconds to
complete.

My normal page uses AJAX so keeping the user informed of what is
happening is not a problem.

However, the page also has fallback code in case of no Javascript. In
this case I would like to display temporary "please wait" type page
whilst the DB search is taking place.

I originally thought I would serve up the wait page, and then use meta
refresh to immediately request the page that actually does the search.
That way the wait page would be displayed as long as the search took
to complete and markup was returned to the browser.

However, on reading up about meta refresh, it appears this is now
depreciated, and is frowned upon anyway as it messes up the Back
button.

So, do I?
1) Do it anyway
2) Forget the waiting page, and just load the search page direct
3) Use some other friendlier method to keep the user informed (Not
that I can think of any)

Cheers,
Jeremy
Feb 17 '08 #2
..oO(Je****@thebunnyshed.co.uk)
>I have database actions that will potentially take several seconds to
complete.

My normal page uses AJAX so keeping the user informed of what is
happening is not a problem.

However, the page also has fallback code in case of no Javascript. In
this case I would like to display temporary "please wait" type page
whilst the DB search is taking place.

I originally thought I would serve up the wait page, and then use meta
refresh to immediately request the page that actually does the search.
That way the wait page would be displayed as long as the search took
to complete and markup was returned to the browser.

However, on reading up about meta refresh, it appears this is now
depreciated, and is frowned upon anyway as it messes up the Back
button.
It's not deprecated and most likely never will, because it has its valid
uses. The reason why it's usually frowned upon is that it's abused for
redirects too often, which is ugly enough on its own (redirects should
be done with proper HTTP headers), but becomes even worse if it's done
immediately with no delay. This breaks the back button.

But it's perfectly fine if used for what it was intended - to _refresh_
a page after a certain amount of time. This could be a live ticker for
example, which refreshes every 30s, or also a page reporting the status
of a currently running server process like in your case. IMHO there's
nothing wrong with that. Just don't refresh every 2 seconds, there
should be a bit more time. At least 10s IMHO, which is still good and
accurate enough for a fallback.

Micha
Feb 17 '08 #3
But it's perfectly fine if used for what it was intended - to _refresh_
a page after a certain amount of time. This could be a live ticker for
example, which refreshes every 30s, or also a page reporting the status
of a currently running server process like in your case. IMHO there's
nothing wrong with that. Just don't refresh every 2 seconds, there
should be a bit more time. At least 10s IMHO, which is still good and
accurate enough for a fallback.
I think you misunderstand my intent. The meta refresh would be used to
open a new page immediately and once only.
ie:
.. Display wait page which contains immediate meta refresh
.. Browser honours meta refresh and requests search results
.. wait page is still displayed while search in progress, since no
markup has yet been returned from server.
.. Search finishes and page is displayed.

I guess I could stick in a 1 second delay to help preserve the back
button, but this is getting ugly IMO. It forces a 1 second wait even
if the search is instantaneous.
I have been wondering whether it would be possible to scrap the
seperate wait page, and just have the search page return some "please
wait" markup immediately, and then have the eventual result markup
hide the wait markup using CSS? Anyone tried this?
Feb 17 '08 #4
On Feb 17, 1:48 am, Jer...@thebunnyshed.co.uk wrote:
Hi all,

I have database actions that will potentially take several seconds to
complete.

My normal page uses AJAX so keeping the user informed of what is
happening is not a problem.

However, the page also has fallback code in case of no Javascript. In
this case I would like to display temporary "please wait" type page
whilst the DB search is taking place.

I originally thought I would serve up the wait page, and then use meta
refresh to immediately request the page that actually does the search.
That way the wait page would be displayed as long as the search took
to complete and markup was returned to the browser.

However, on reading up about meta refresh, it appears this is now
depreciated, and is frowned upon anyway as it messes up the Back
button.

So, do I?
1) Do it anyway
2) Forget the waiting page, and just load the search page direct
3) Use some other friendlier method to keep the user informed (Not
that I can think of any)

Cheers,
Jeremy
If AJAX has an essential function in your code, you should control
user agent "get_browser(null,true);" if [javascript] =1 i think you
might reject the client request and demand javascript activation...
Feb 17 '08 #5
On Feb 17, 1:48 am, Jer...@thebunnyshed.co.uk wrote:
Hi all,

I have database actions that will potentially take several seconds to
complete.

My normal page uses AJAX so keeping the user informed of what is
happening is not a problem.

However, the page also has fallback code in case of no Javascript. In
this case I would like to display temporary "please wait" type page
whilst the DB search is taking place.

I originally thought I would serve up the wait page, and then use meta
refresh to immediately request the page that actually does the search.
That way the wait page would be displayed as long as the search took
to complete and markup was returned to the browser.

However, on reading up about meta refresh, it appears this is now
depreciated, and is frowned upon anyway as it messes up the Back
button.

So, do I?
1) Do it anyway
2) Forget the waiting page, and just load the search page direct
3) Use some other friendlier method to keep the user informed (Not
that I can think of any)

Cheers,
Jeremy
<meta http-equiv='refresh' content='10' Refreshes the page after 10
seconds ;)

<?php
..
...
....
if(isset($_SESSION['redirect_time']))
{
$_SESSION['redirect_time']=0;
echo "<meta http-equiv='refresh' content='10'>";
$_SESSION['redirect_time']++;
}
else if($_SESSION['redirect_time']>0)
{?>window.redirect("go.html");
<?php}
?>
Feb 17 '08 #6

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

3
by: Kannan | last post by:
Hello, I have a requirement that specifies that I display a "Please Wait..." window (preferably modal) along with a gif that mimics a progress bar during a save operation. The dialog needs to be...
1
by: metsymani | last post by:
In my web application, I have a search screen coded in ASP.Net. The Search process takes lot of time. So, I need to show a wait page informing the user that "Search is in progress. Please wait" along...
3
by: John Dalberg | last post by:
Hi I have a form that opens a new window for the results. Because the results might take a few seconds due to server processing, I would like to display a message "please wait" in the new...
9
by: John Walker | last post by:
Hi, I have a datagrid with a radiobutton template column, with AutoPostBack set to TRUE. When the user clicks on a radiobutton the application will PostBack, and in the PostBack there will be...
4
by: louvino | last post by:
Hi, I have some links. When I click on one, a window opens but during the loading of this window, I would like the cursor is in state "wait" (using CSS : cursor : wait; ) Help me :-)
2
by: =?Utf-8?B?Z2VvZmZh?= | last post by:
I cannot figure this out and would appreciate any help..... I have a datagrid view that displays the results from a Stored Procedure. it can take awhile to load..... the stored procedure fires...
3
by: =?ISO-8859-1?B?Rvpsdmlv?= | last post by:
Hello all, My application delay some minutes when I press a button(it's doing some working ). How can I put a message: "Please wating" during this delay? It is important that after the...
1
by: =?Utf-8?B?Sm9obiBXYWxrZXI=?= | last post by:
Hi, I have a webpage designed with asp.net 2.0. Is there a way to display a "please wait" message to the screen horizontally centered and veritcally 20px from the VISIBLE top of the page,...
1
by: =?Utf-8?B?QWxoYW1icmEgRWlkb3MgS2lxdWVuZXQ=?= | last post by:
Mister, any solution about it ? any sample code please ?? thanks in advance
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.