2012-10-31 28 views
1

我有一個事件必須影響事件觸發的幾個網頁的情況。同步網頁

它就像在GMail中。我正在爲我的大學開發基於在線放養交易系統的項目。有要求的管理員或經銷商不需要刷新其應用程序的結尾,查看應用程序另一端的客戶發出的新訂單。

正如我所說的那樣,GMail等待事件發生,聽取它並更新頁面。

我很擅長JavaScript和jQuery,我可以在頁面內做到這一點:事件偵聽器。但是如何跨越幾頁來做到這一點。

您還可以考慮另一種情況:酒店的服務員,收銀員和廚師都與他們有PDA,他們中的任何人都不必刷新他們的網頁實例以更新下訂單。

我該如何做到這一點?這可能嗎? 我說我擅長JavaScript,但我有我的極限和疑惑。

我使用jQuery和PHP。

在此先感謝。

PS:我知道如何刷新頁面或iFrame每5秒鐘左右。

編輯1:

至於其他詳細信息,我想類似下面的東西在Java

synchronised(sync) 
{ 
    sync.wait() 
} 

代碼可能是不準確的完成,這是從我的實驗室實驗。但是這個概念是相似的。服務器等待,直到客戶進行了一次移動,並重復了很多時間。

編輯2:

另一個最好的例子就是我們始終面臨互聯網的情況:填寫調查問卷或東西,使被下載的內容。

我的交易系統需要這樣的事情。經銷商頁面始終監聽客戶端頁面以與服務器一起工作。在這種情況下,經銷商頁面會對此採取行動。在這種情況下下訂單。

+0

神奇的詞是AJAX –

+0

看看$ .ajax,它使用AJAX異步發送數據到網頁(在你的情況下,PHP) –

+0

謝謝,但我知道這些事情,我認爲你不能讓我。不管是異步的還是不是這些功能都必須手動觸發,或者部件需要刷新才能完成魔法。但是,我想要的是它自動更新_on它自己_ –

回答

1

如果在一個瀏覽器中有多個頁面實例,則可以使用JavaScript web worker。

ELSE

使用 「長池」 或 「AJAX quering」

朗池演示:How do I implement basic "Long Polling"?

你做什麼,你總是查詢新信息的服務器。如果有新的信息,則返回。然後JavaScript會看到有新的信息,它會顯示它。

+0

感謝真正幫助的朋友。長投票我應該記住這一點。我還有一個問題:GMail是否也使用它? –

+0

嗯,這取決於。 Facebook使用它。我認爲Gmail使用了所有的技術。從websockets到longpooling到ajax查詢。 –

1

研究一個長輪詢或「彗星」架構。這被事件驅動的AJAX應用程序廣泛使用,並將提供您正在尋找的內容。

請參閱https://en.wikipedia.org/wiki/Comet_(programming)瞭解更多信息。

+0

也感謝你。我得到了理論 –