Just suggesting a bit of useless glitz here, which could make it look smoother:
I was initially going to suggest you try putting an initially empty IFRAME into your upload page, wherein the Javascript then loads the progress meter CGI OnSubmit(). But IFRAMEs are the devil. Even so the idea itself has merit..
But let's take it to a whole new dimension. Place an initially empty graphic on your page (the transparent singlepixel GIF will do). Your Javascript shall then reload that image from the progress meter CGI's address, which now produces image/png rather then text/html, complete with a Refresh: header. This method should work for any but the very dumbest of browsers and will provide the feedback completely smoothly integrated into your upload page. Now you have the mirrors.
It's time to add the smoke: have the Javascript replace another, static image of for example a clock with an animated version. Your users will never even know what hit them.
David Copperfield made the Statue of Liberty disappear, why couldn't you make a progress meter? :-)
Update: Darn. As Macphisto pointed out, the page with the upload form will be frozen while the upload happens, with no chance to update any images in it. In that case, I guess the only way to resolve this is to use frames in some fashion.
Actually, it should be possible - the FORM tag has a TARGET attribute just like the A anchor tag does, if memory serves. In that case one could launch the upload into a different frame and set up abovementioned smoke and mirrors. It will require funny Javascript posing though..
Guess a progress popup really is the only actually workable solution. :-(
____________ Makeshifts last the longest.
|