Hi.

The http request will NOT always succeed under the conditions you
describe in IE and I think sometimes in firefox (possible race
condition?).

If you are preloading images for user experience reasons the stakes are
low, but if you need to track the requests from the server side (for
example for exit link tracking) discarding or re-using the img object
too quickly can cause requests to be dropped.

------->Nathan



.:||:._.:||:._.:||:._.:||:._.:||:._.:||:._.:||:._.:||:._.:||:._.:||:._.:
||:.

Nathan Young
Cisco.com->Interface Development
A: ncy1717
E: [EMAIL PROTECTED]  

> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf Of PragueExpat
> Sent: Tuesday, February 06, 2007 8:50 AM
> To: discuss@jquery.com
> Subject: Re: [jQuery] image preloading
> 
> 
> Thanks for testing this. 
> 
> I guess that means that although the variable gets 
> overwritten, the image
> object remains in memory and the browser's http connection 
> (that is pulling
> down the current image) remains active until the image is loaded. So
> basically the image object stays alive, but there is no way 
> to access it
> from javascript. Sound about right?
> 
> 
> Luke Lutman wrote:
> > 
> > Ok, did a quick test in FF and Safari :-)
> > 
> > - The function doesn't wait, it makes all the requests at 
> once (more or
> > less).
> > - The variable gets overwritten.
> > - It doesn't interrupt the download.
> > 
> > One thing I did find was that if I do:
> > 
> > var img = new Image();
> > img.onload = function(){
> >      var that = this;
> > }
> > img.src = arguments[i];
> > 
> > 
> > Then the variable 'that' will point to window, not img.
> > 
> > However, if I do:
> > 
> > var img = document.createElement('img');
> > img.onload = function(){
> >      var that = this;
> > }
> > img.src = arguments[i];
> > 
> > Then the variable 'that' will point to img, and the event 
> handler will
> > work as expected.
> > 
> > Luke
> > 
> > PragueExpat wrote:
> >> Luke, this is a great technique - thanks! 
> >> 
> >> As far as my original question, I am still curious to find out the
> >> following:
> >> 
> >> With the following preload function:
> >> 
> >> $.preloadImages = function()
> >> {
> >>         for(var i = 0; i<arguments.length; i++)
> >>         {
> >>                 img = new Image();
> >>                 img.src = arguments[i];
> >>         }
> >> } 
> >> 
> >> does the browser completely download each image before the 
> script changes
> >> the source and begins the next download or is/can the 
> image download be
> >> interrupted by the variable being reassigned?
> >> 
> >> Anyone?
> > 
> > _______________________________________________
> > jQuery mailing list
> > discuss@jquery.com
> > http://jquery.com/discuss/
> > 
> > 
> 
> -- 
> View this message in context: 
> http://www.nabble.com/image-preloading-tf2351203.html#a8829521
> Sent from the JQuery mailing list archive at Nabble.com.
> 
> 
> _______________________________________________
> jQuery mailing list
> discuss@jquery.com
> http://jquery.com/discuss/
> 

_______________________________________________
jQuery mailing list
discuss@jquery.com
http://jquery.com/discuss/

Reply via email to