8
A
回答
9
您可以嘗試google-diff-match-patch項目,該項目提供強大的算法來執行同步純文本所需的操作。
代碼:
<div class="test">
<div id="oldStr" class="text">the stackoverflow question and answer version control is very well,i want to do this use javascript,but i don't know how to start,who can give some suggestion?thanks</div>
<div id="newStr" class="text">Stack Overflow's diff view is very good. I want to do this using javascript,but i don't know how to start,who can give some suggestion?thanks</div>
</div>
<input type="button" value="GO" onclick="launch()" />
<div class="test">
<div class="text" id="outputOldStr"></div>
<div class="text" id="outputNewStr"></div>
</div>
<script type="text/javascript">
var dmp = new diff_match_patch();
function launch() {
var text1 = document.getElementById('oldStr').innerHTML;
var text2 = document.getElementById('newStr').innerHTML;
dmp.Diff_EditCost = 8;
var d = dmp.diff_main(text1, text2);
dmp.diff_cleanupEfficiency(d);
var oldStr = "", newStr = "";
for (var i = 0, j = d.length; i < j; i++) {
var arr=d[i];
if (arr[0] == 0) {
oldStr += arr[1];
newStr += arr[1];
} else if (arr[0] == -1) {
oldStr += "<span class='text-del'>" + arr[1] + "</span>";
} else {
newStr += "<span class='text-add'>" + arr[1] + "</span>";
}
}
document.getElementById('outputOldStr').innerHTML = oldStr;
document.getElementById('outputNewStr').innerHTML = newStr;
}
</script>
3
有,做差異可視化的JavaScript庫。這是幾個例子,我發現:
我還沒有嘗試過任何人,所以很遺憾,我不能告訴你,這是最適合你的需要,但它可能值得檢查出來。
更新
jsdifflib看起來很有希望,有a demo可用,你可以試試。
相關問題
- 1. Android:我如何創建Swipeable Stack視圖?
- 2. 如何創建視差圖?
- 3. Android - 如何使用回收視圖創建一個像這樣的視圖?
- 4. Jest:比較值沒有視覺差異
- 5. 我如何實現像ask.com這樣的視覺主題?
- 6. 像Stack Overflow這樣的站點如何在ASP.NET MVC中傳遞用戶信息?
- 7. 如何從java applet視覺輸出創建圖像?
- 8. css視覺差異ids和類
- 9. 如何創建一個像默認Android EditContact視圖一樣的視圖?
- 10. 如何創建這樣的iOS表格視圖?
- 11. 如何在sencha touch 2中創建這樣的視圖?
- 12. 視覺API:從拖放和java視覺api客戶端結果的差異
- 13. 如何創建視覺分析器?
- 14. 我可以使用TFS提供的通知配置視覺差異視圖嗎?
- 15. 如何創建這個定製視圖
- 16. 如何創建這個索引視圖?
- 17. 我如何創建這個視圖?
- 18. 如何爲svn獲得漂亮的視覺差異?
- 19. 不同圖表之間的視覺差異
- 20. 創建一個特殊的視覺選擇工具圖像
- 21. 如何可視化Github差異視圖中的每個字符差異?
- 22. 視覺樣式獨立繪圖
- 23. perforce:如何從差異視圖結帳?
- 24. 如何在git上執行3路視覺差異?
- 25. 如何創建圓形圖庫視圖/圖像切換器/圖像視圖...?
- 26. 視圖使用xml創建的差異 - 使用代碼
- 27. 誤差的自定義視圖創建視圖
- 28. 從圖像創建視頻
- 29. Stack Overflow錯誤android?
- 30. 何時使用視覺差異與統一差異補丁文件?
是的,這只是我覺得 – artwl 2012-08-15 10:08:57
我通過這個去了,結束了創建一個包裝庫,以幫助在「演示文稿」使用需要'diff_match_patch ':https://github.com/arnab/jQuery.PrettyTextDiff – arnab 2013-01-24 11:29:32
'google-diff-match-patch'的角度包裝:https://github.com/amweiss/angular-diff-match-patch – fiat 2016-04-28 05:01:43