2008-11-20 51 views
3

我剛開始創建一個使用服務器端推送的AJAX應用程序。我在Glassfish V2上使用灰熊彗星。幾乎所有示例應用程序都使用IFrame來更新客戶端上的內容。我想堅持使用只能使用JavaScript。有沒有這樣的示例應用程序(最好是不使用JavaScript庫的應用程序)?不使用IFrame的Comet應用程序

回答

3

關於推送的一點是HTTP請求永遠不會結束。並非所有客戶端實現都能正確處理。正如我所看到的,它可以在Firefox中使用純JavaScript來執行它,但它的API會很長,但XMLHTTPRequest對象會超時並且無法將內容流式傳輸給您。

IFrame是好的,你也可以嘗試對象標籤,如果它的標準符合。

在XMLHTTPRequest和Ajax沒有名稱之前,我們通過IFrames從服務器獲取數據。

+0

我使用的是XMLHttpRequest,它可以非常有效地用於Firefox中的彗星流。可悲的是我需要爲IE提供iframe選項,但XMLHttpRequest更好。在IE中有一個類似的對象,但是它不能像firefox那樣在readyState(mode)3中被訪問。因此,只有在流完成後才能使用它 - 對於彗星流式傳輸來說幾乎沒有用處。 – Konrad 2010-02-05 15:14:26

1

這就是我想出如何使用javascript和php進行推送的方法。

有javascript做一個初始調用,並加載到一個div的內容。 然後將javascript調用回到php,並有PHP睡眠,直到它看到有新的更新。 然後將數據發送給每個人並回撥至php並再次入睡。

這允許長時間輪詢和更少的呼叫回來。我個人在php腳本上放了5分鐘到30分鐘的時間。

相關問題