Я только начинаю создавать приложение AJAX с использованием push-уведомлений на стороне сервера. Я использую Grizzly Comet на Glassfish V2. Почти все примеры приложений используют IFrames для обновления содержимого на стороне клиента. Я хочу использовать Только JavaScript. Существуют ли такие примеры приложений (желательно те, которые не используют библиотеку JavaScript)?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Дело в том, что HTTP-запрос никогда не заканчивается. Не все клиентские реализации обрабатывают это правильно. Насколько я понимаю, это можно сделать с помощью чистого javascript в Firefox с его обширным API, но объект XMLHTTPRequest будет отключен по таймауту и не сможет передавать вам контент.
IFrame хорош, вы также можете попробовать тег объекта, если он соответствует стандарту.
До того, как у XMLHTTPRequest и Ajax не было имени, мы получали данные с серверов через IFrames.
Вот как я понял, как делать push с помощью только javascript и php.
Пусть javascript выполнит первоначальный вызов и загрузит контент в div. Затем попросите javascript перезвонить на php и оставьте php в спящем режиме, пока он не увидит новое обновление. Затем разошлите данные всем, перезвоните на php и снова засыпайте.
Это позволяет проводить длинный опрос и сокращать количество обратных вызовов. Я лично установил время от 5 до 30 минут на php-скрипт.
Я использую XMLHttpRequest, и он очень эффективно работает для потоковой передачи комет в Firefox. К сожалению, мне также нужна опция iframe для IE, но XMLHttpRequest намного лучше. В IE есть аналогичный объект, однако к нему нельзя получить доступ в readyState (mode) 3, как в Firefox. В результате вы можете использовать его только после завершения потока, что вряд ли полезно для потоковой передачи комет.