Help with status bar - still showing load in progress even after page load

  • Follow


Hi,

I'm having an issue with the status bar in Mozilla and Netscape showing that 
it is still waiting on the page to load even after it is finished.  This 
problem does NOT occur with IE.

In summary, I am using a onLoad event in the BODY tag to communicate back to 
another server each time a page finishes loading. I do this by using a "new 
Image()" and setting the .src property to the server.  The .src includes a 
value in the querystring so I know what request it was that finished 
loading.

The challenge here is that the status bar still shows "Transferring data 
from www.mysite.com..." despite the image being loaded.  It never clears and 
leaves the user with the impression that there was a problem loading the 
page.  My web server logs at the mysite.com show that the browser does 
indeed make a request for the image and I get the querystring just fine and 
it returns a status of 200 so the image is being found and served ok.

I've tried everything I can think of to solve this and really could use your 
help please.  Bottom line is that if you use the "new Image" statment from 
within the OnLoad event of the Body tag, Netscape and Mozilla never seem to 
update the status bar to show "Done" despite it succesfully loading the 
image.

Here is a simply snippet you can use to easily reproduce this issue:

CASE A:

<html>
<body onLoad="var img = new Image(1, 1); img.src = 
'http://www.mysite.com/img.gif';" >
</html>

Case A results in a status bar that indefinately shows "Transfering data 
from www.mysite.com..."

Now interestingly if you change the .src so that its a relative URL instead 
of absolute the problem goes away, like this:

CASE B:
<html>
<body onLoad="var img = new Image(1, 1); img.src = '/img.gif';" >
</html>

With this Case B the status bar says Done as expected and all works great.

The challenge here is that the web server that the page is running from and 
the web server that I need to make the new Image .src request go to are two 
different servers.  So I must use the absolute URL.

I wanted to pass this additional information along however because it may 
spur some ideas as to what is going on and how I can correct it.

I've tried a variety of things such as trying to clear the status bar by 
forcing a window.status="" after the .src property is set, but that doesn't 
help.  I also tried other things such as using setTimeout to delay the .src 
property being set to x milliseconds after the Body OnLoad event fires, but 
in this case the same thing happens to the status bar (except that the 
"Transferring data from..." message just shows up x milliseconds later.

Interestingly Firefox does not suffer from this behavior, nor does IE.  It 
seems specific to Mozilla and Netscape, trying the latest version of each.

Any help, tips or suggestions would be GREATLY appreciated!!  Thanks so much 
in advance.

--- Mike


0
Reply Mike 2/20/2006 4:09:01 PM

Mike Dee said the following on 2/20/2006 11:09 AM:
> Hi,
> 
> I'm having an issue with the status bar in Mozilla and Netscape showing that 
> it is still waiting on the page to load even after it is finished.  This 
> problem does NOT occur with IE.
> 
> In summary, I am using a onLoad event in the BODY tag to communicate back to 
> another server each time a page finishes loading. I do this by using a "new 
> Image()" and setting the .src property to the server.  The .src includes a 
> value in the querystring so I know what request it was that finished 
> loading.
> 
> The challenge here is that the status bar still shows "Transferring data 
> from www.mysite.com..." despite the image being loaded.  It never clears and 
> leaves the user with the impression that there was a problem loading the 
> page.  My web server logs at the mysite.com show that the browser does 
> indeed make a request for the image and I get the querystring just fine and 
> it returns a status of 200 so the image is being found and served ok.
> 
> I've tried everything I can think of to solve this and really could use your 
> help please.  Bottom line is that if you use the "new Image" statment from 
> within the OnLoad event of the Body tag, Netscape and Mozilla never seem to 
> update the status bar to show "Done" despite it succesfully loading the 
> image.
> 
> Here is a simply snippet you can use to easily reproduce this issue:
> 
> CASE A:
> 
> <html>
> <body onLoad="var img = new Image(1, 1); img.src = 
> 'http://www.mysite.com/img.gif';" >
> </html>
> 
> Case A results in a status bar that indefinately shows "Transfering data 
> from www.mysite.com..."
> 
> Now interestingly if you change the .src so that its a relative URL instead 
> of absolute the problem goes away, like this:
> 
> CASE B:
> <html>
> <body onLoad="var img = new Image(1, 1); img.src = '/img.gif';" >
> </html>
> 
> With this Case B the status bar says Done as expected and all works great.
> 
> The challenge here is that the web server that the page is running from and 
> the web server that I need to make the new Image .src request go to are two 
> different servers.  So I must use the absolute URL.

Browser requests the image from server A, server A gets the image from 
server B, server A returns the image to the Browser.

Problem solved.

-- 
Randy
comp.lang.javascript FAQ - http://jibbering.com/faq & newsgroup weekly
Javascript Best Practices - http://www.JavascriptToolbox.com/bestpractices/
0
Reply Randy 2/20/2006 6:41:00 PM


> Browser requests the image from server A, server A gets the image from 
> server B, server A returns the image to the Browser.
>

Thanks. I'm not exactly seeing how this would work though.  If the browser 
requests the image from Server A using "new Image()" its making a request 
for a .gif.  So then how is server A going to act as a broker and make the 
request to Server B and pass the result back to the browser?

I was thinking some more about the root cause. Maybe I can work around this 
by purposely performing some other action after the image is loaded that 
would some how result in the browser then realizing it was done and updating 
its status line?  Thoughts on this?

--- Mike 


0
Reply Mike 2/20/2006 9:15:32 PM

This isssue is not limited to Mozilla and Netscape. IE has the same
issue.
The Internet Explorer progress bar continues to increase when an
attached behavior is dynamically inserted in a page -
http://support.microsoft.com/default.aspx?scid=kb;en-us;Q320731

0
Reply Mamidipalli 3/1/2006 8:06:35 PM

3 Replies
299 Views

(page loaded in 0.07 seconds)

Similiar Articles:













7/26/2012 1:25:46 AM


Reply: