Fw: [問題] 在網頁上實作共同編輯

看板Web_Design作者 (天啊!)時間12年前 (2014/02/19 17:38), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串1/1
※ [本文轉錄自 Ajax 看板 #1J17iLmj ] 作者: a0529gox (天啊!) 看板: Ajax 標題: [問題] 在網頁上實作共同編輯 時間: Wed Feb 19 17:36:19 2014 大家好, 我現在在開發一個web應用程式, 其中有個功能是共同編輯, 像是google doc那種多人編輯同一篇文章。 我先附上部份code: HTML: <div class="text_content"> /*這是編輯區塊*/ </div> JavaScript: /*考量到對Server的負擔, 所以是用keyup event來觸發timeout來 呼叫web socket發送編輯區塊內的文字給每個使用者 */ var timeout; function keyUpEvent(){ window.clearTimeout(timeout); timeout = window.setTimeout(呼叫WebSocket, 2000); /*使用者打字停下來兩秒後才會呼叫WebSocket*/ } 然後是用 $(".text_content).html(發送的文字); 來覆寫編輯區塊的文字 表達能力好像不是很好QQ 問題來了, 一、會有吃字的問題 可能使用者A打到一半就被使用者B所輸入的內容蓋掉, 一般的話如果每keyup一次就發送應該就可以大幅減少這問題, 只是會嚴重造成server的工作量暴增(?) 二、只要WebSocket把文字傳送來之後, 因為是用html()來修改編輯區塊, 輸入的游標會跳到div的最頂端或者不見, 以上兩個問題有比較好的解決方法嗎? 只求提示,感謝板上的高手們 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.171.168.159 ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 轉錄者: a0529gox (1.171.168.159), 時間: 02/19/2014 17:38:41
文章代碼(AID): #1J17kZo8 (Web_Design)
文章代碼(AID): #1J17kZo8 (Web_Design)