I was just wondering if it was possible to upload an image using XHR rather than a hidden iframe? If so, do all modern browsers support it?
Sorry, but no. There is no way to access the image data.
Sites that look like they are doing so usually use a small flash object with a fail over to using, as you said, a hidden frame.
Uploading via XHR is not possible yet.
Use a flash or Java uploader.
Many websites make clever use of frames and AJAX to upload files and show progress bar....
And that's good!