Дело в том, что push-запрос никогда не заканчивается. Не все реализации клиента обрабатывают это правильно. На мой взгляд, это возможно сделать с чистым javascript в Firefox с его обширным API, но объект XMLHTTPRequest истечет время ожидания и не сможет передавать вам контент.
IFrame хорош, вы также можете попробовать тег объекта, если он соответствует стандарту.
До того, как у XMLHTTPRequest и Ajax не было имени, мы использовали для получения данных с серверов через IFrames.