2009-11-19 38 views
0

我正在工作的系統需要保持不變(我的意思是常數)瀏覽器端的軌跡通過對服務器的AJAX請求更改爲textarea。理想情況下,每個角色將作爲一行存儲在數據庫中,以及插入的位置和時間戳。Javascript Textarea監測/紅寶石三角洲計算

我希望有一個很好的Javascript庫,我不知何故錯過了這將使它在瀏覽器中完成所有這些操作變得微不足道,但我認爲DOM中的不一致會阻止任何將是資源合理的。我是一個jQuery用戶,如果這有所作爲。

正在創建的文檔可能會變得非常大,因此將整個文檔發送回來並在服務器上執行差異效率不高,但我認爲我可以制定一種方法,只發送受影響的行通過編輯。不幸的是,我確實需要一種方法來獲取每個字符,而不是每次到達服務器時計算的每行字符差異。

我想使用Ruby,所以如果有一個Ruby庫可以做到這一點,真棒。如果沒有,是否有一種通用算法來計算某人可以建議的兩個字符串之間的實際增量?

摘要:
JavaScript庫非常緊密地監控textarea的OR
Ruby庫,計算增量或
通用增量計算算法

的順序。先謝謝你。

回答

0

我想你可以嘗試有紅寶石通過命令行來調用diff,然後返回這些差異回用戶;)

+0

都能跟得上...'diff'計算行方面的文件之間的差異。如果您更改一行上的一個字符,則會將該行標記爲已刪除,並將添加了新字符的行標記爲已刪除。我需要一種方法來檢測一個字符。 – chrisrhoden 2009-11-19 13:27:17