2010-11-11 81 views
1

我們已經有一個客戶爲我們即將開始的項目添加一個新的「要求」,並將它拋向了一點點。從最終用戶的角度來看,這很簡單,但作爲開發人員,我不知道如何實現它!使用jscript跟蹤對網頁上的字段所做的更改嗎?

我們的用戶想要的是一個Web表單文本框(理想的是一個富文本編輯器,如CKEditor)來跟蹤用戶對內容所做的更改。請注意,這不是爲了跟蹤是否進行了更改,而是實際突出顯示這些更改。基本上他們是在微軟Word的「追蹤改變」功能之後!

這個想法是當用戶改變一個包含大量文本的文本框時用戶之間的請求,下一個用戶將很容易識別發生了什麼變化。

我很想聽聽有沒有人做過類似的事情或任何人的想法,如果或如何可能?

+0

感謝您的快速反饋!我應該補充一點,我們可以很容易地對內容進行版本化,因此我們可以對較早的版本進行區分,但是我並不知道可靠的差異算法,它可以讓我們顯示已添加和刪除的內容(尤其是如果大量文本已更改) – Paul 2010-11-11 16:43:16

+0

我會看看另一個問題中提供的選項。謝謝! – Paul 2010-11-11 16:45:10

+0

哦 - 而且解決方案是基於asp.net的,所以我們需要儘量避免在服務器上安裝PHP(沒有開發人員在這裏有必要的skils來維護它) – Paul 2010-11-11 16:48:18

回答

0

嗯......好,你可以在框中的內容存儲在一個變量,然後使用一個diff算法(必須有一些出那麼肯定會)檢查更改並適當地格式化,但只會在用戶在框外單擊時顯示差異。這足夠好嗎?如果沒有,您可以將onkeypress事件與onkeyup事件進行比較,並對差異應用格式化?

+0

謝謝 - 如果可以的話,我也會接受你的答案他們都幫助我找到解決方案。非常感激! – Paul 2010-11-12 10:18:52

+0

嗯,我可以在那裏安慰:) – 2010-11-12 10:22:44

0

那麼,你需要某種內容管理解決方案。它需要進行版本控制,以便可以存儲不同版本的內容。如果你的內容只是文字,那麼做差異並不難。如果它以某種方式構建(HTML或其他格式與文本不同),則可能很難識別更改。 我認爲在後一種情況下,您可以使用不可見標記標記新文本,編輯器將突出顯示<edition version="1.0"> </edition>之類的內容。您也可以爲刪除的文本製作標籤。而且您可以不突出顯示文本,也不會將刪除顯示爲選項。

+0

謝謝 - 如果我可以的話,我也會接受你的回答,因爲他們都幫助我找到解決方案。非常感激! – Paul 2010-11-12 10:18:07