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

Discussion in 'Javascript' started by Mike Dee, Feb 20, 2006.

  1. Mike Dee

    Mike Dee Guest

    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
    Mike Dee, Feb 20, 2006
    #1
    1. Advertising

  2. Mike Dee

    Randy Webb Guest

    Re: Help with status bar - still showing load in progress even afterpage load

    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/
    Randy Webb, Feb 20, 2006
    #2
    1. Advertising

  3. Mike Dee

    Mike Dee Guest

    > 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
    Mike Dee, Feb 20, 2006
    #3
  4. Mike Dee

    Mamidipalli Guest

    Mamidipalli, Mar 1, 2006
    #4
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Matt
    Replies:
    0
    Views:
    3,539
  2. John Hann
    Replies:
    0
    Views:
    6,071
    John Hann
    Aug 21, 2004
  3. Charlie Zhang
    Replies:
    3
    Views:
    1,250
    Paul Lutus
    Aug 16, 2004
  4. Matt
    Replies:
    9
    Views:
    70,829
  5. Matt
    Replies:
    9
    Views:
    541
    kaeli
    Aug 23, 2004
Loading...

Share This Page