First of all, let me use this diagram to explain how asynchronous file uploads can be achieved:
The following approach is working in my setup (Firefox 3.6):
It is working in Chrome as well, but it is needed to exclude a first onload call after the loading of the parent page. This is easily accomplished by setting a "global" variable which is tested in process().
ADDITION
The method works together with a form
which is submitted to URL. This URL needs to reside on the same domain as the parent page page.html. If data from a REMOTE_URL are to be downloaded, then URL would be a PHP proxy.php on the own domain with the content
This is a simple approach - however, it is probably excluded by the condition (2) of the question. I have added it here to make my answer complete.
Other approaches, considering iframes only, are discussed by Mahemoff and Georges Auberger.