2013-12-08 72 views
-3

我想編寫頁面,該頁面可以啓用其他用戶的間諜活動。其他用戶的間諜活動

兩個用戶觀看同一個頁面,這非常簡單(垂直滾動條,輸入,按鈕,checboxes ...)。 第一個用戶在他的頁面上執行的每個操作都會立即顯示給第二個用戶。 例如,如果第一個用戶點擊按鈕,則第二個用戶觀看點擊他自己的頁面(兩個用戶的頁面看起來相同)。 簡單地說,第二個用戶可以看到的一切東西,第一用戶在做(實時)

當然,我認爲,我控制這個網頁的代碼。

而且我的問題:

有沒有一種簡單的方法來做到這一點,或者我必須寫處理每個事件並將數據發送到使用Ajax的Web套接字明確第二個用戶? 是否可以在不需要處理每個動作的情況下攔截另一個用戶的框架?

我寫了這個基於websockets的間諜程序的基本版本。第一個用戶執行的每個操作都發送給另一個用戶。
接收到消息後,程序解析數據,並調用適當的方法,所以我在兩個頁面上都有相同的行爲。 它的工作原理是正確的,但如果我不想完成頁面 的知識(在我的版本中用戶具有相同的html內容,所以我可以應用這些方法),使用這種方法會更復雜。總之,我正在尋找更簡單的解決方案(無需處理每個事件)。

我已經在Stack Overflow瀏覽了大約50個網頁,文章和答案,但還沒有找到任何關於更簡單的解決方案的討論 (我的朋友問了類似的問題,但只有很少的答案)。 我對完整的解決方案不感興趣,我希望你給我一些有價值的提示或明顯的鏈接。 也許是我沒有輸入正確的短語......

謝謝您的幫助

+1

請求資源不允許在這裏。你有一個特定的障礙,你需要幫助克服?如果你正在尋找一件事情發生的事情,那麼每當發生事情就會發生,恐怕你不會得到一個事件。 –

+0

檢查我的回答關於事件的編輯。 –

回答

0

你的問題是最有可能得到downvoted因爲它聽起來惡意。我不會用標題中的「間諜」這個詞問一個問題,而是用「協作」這個詞代替。從我剛剛閱讀的內容來看,你想要做的就是和其他客戶在同一屏幕上工作,而不是「窺探」他們。

總之,要回答你的問題:

你來翻過togetherJS過嗎?這是一個允許2個或更多用戶進行實時協作的插件。您的整個DOM操作將顯示在合作伙伴的屏幕上,因此您不再需要爲DOM中的每個元素編寫事件處理程序操作。該項目也由mozilla託管,所以你甚至不必自己託管一個實時服務器來使用插件。贏得!

在項目網頁上有一些精彩的演示,演示了插件的使用。請查看collaborative drawing demo,瞭解一個簡單而有效的示例。

至於實際上將插件集成到您的網站,它可能不會更容易。只需提供你這樣的頁面上託管的腳本:

<script src="https://togetherjs.com/togetherjs-min.js"></script> 

然後初始化您網站上的插件。和

<button onclick="TogetherJS(this); return false;">Start TogetherJS</button> 

現在,當你想開始一個協作會話,只需邀請其他客戶到你的頁面,你將兩者:這可以在一個文檔準備事件來完成,或者通過使用一個按鈕,你看到的例子能夠在現場看到兩個用戶之間頁面上發生的情況。

希望這可以幫助你。

+0

第一段應該是一個評論(也許)。它不屬於答案。第二段基本上只是一個鏈接的答案,在這裏也不是很受歡迎。例如,您能否詳細說明_how_一起使用JS? –

+0

你說得對。我只是假設OP所需的所有信息都可以在JJ項目網頁上找到。我現在編輯了我的問題以包含更多信息。 –