Вот некоторые дальнейшие ссылки для помощи с использованием WinDbg, большинство - конкретная.NET.
Я не уверен, но кажется, что если браузер показывает, что он все еще загружается, это совершенно правильно - разве это не в основном то, что такое программирование Comet? Сервер по-прежнему отправляет небуферизованный контент, и когда он передается в блоке javascript, он выполняется, что позволяет серверу отправлять события в клиентский браузер.
В первые дни Ajax (например, в IE6, где XMLHttpRequest
] был отдельным объектом ActiveX) Я ожидал, что браузер не будет знать, что он все еще ждет.
Но в Safari 4, Chrome, FX3.5 и во всех современных браузерах XMLHttpRequest
является встроенный - он знает, что он все еще ждет, пока сервер все еще будет передавать свой контент, точно так же, как и с и
Короче - я ' Я ожидаю, что любой подход Comet покажет, что браузер все еще загружается, потому что это так. Я ожидаю, что любой обходной путь, который вы найдете, будет исправлен в будущих сборках, потому что Comet - это, по сути, взлом для работы модели server-push.
Однако они начали встраивать реальную поддержку server-push в HTML 5.
Поддерживает ли мобильный Webkit тег HTML 5 draft event-source
? Если да, то вы могли бы попробовать это.
Тогда у вас будет что-то вроде этого:
<!-- new HTML 5 tag supporting server-push -->
<event-source src="http://myPushService.com" id="service">
<script type="text/javascript">
function handleServiceEvent(event) {
// do stuff
}
// tell browser to fire handleServiceEvent in response to server-push
document.getElementById('service').addEventListener('event name', handleServiceEvent, false);
</script>
Когда вы говорите:
... это приведет к тому, что документ будет загружаться вечно.
Что именно вы имеете в виду? Вы имеете в виду, что индикатор выполнения никогда не заканчивается? Или сам документ даже не полностью виден? Маловероятно, что запрос AJAX остановит загрузку всего документа, но в любом случае ...
Вероятно, это вызвано тем, что запрос AJAX никогда не завершается. Вы пробовали посмотреть запрос AJAX в консоли Firebug? Он покажет вам как сделанный запрос, так и ответ сервера. Я бы начал здесь, чтобы убедиться, что сервер отправляет что-то обратно.
Вы можете попробовать поместить свой тег