The browser caches images (as Lynne pointed out) and when you load a page with an image the browser already has, it sends a request asking to resend only if that image has changed since the last time it was loaded. But image.php doesn't do a check for when the avatar last changed (probably to avoid doing db queries), instead it always responds to say that it hasn't changed (which is probably why your image never changed).
To handle image changes, other places in vB (like the postbit) make the url different if the image has been updated, so it looks like a different image to the browser. For avatars, it adds "&dateline=" then the value of "dateline" from the customavatar table of the db. So you could figure out how to add that to the url in your image src, or maybe you could add something else which you know will be unique to force it to load every time (like maybe the value of TIMENOW).
Looking at the code in image.php, it also looks like adding "&type=regcheck" would force it to reload the image, but I don't know what that's really for.
|