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. 如何創建像這樣的視差效果?
- 2. Android:我如何創建Swipeable Stack視圖?
- 3. 如何創建視差圖?
- 4. Android - 如何使用回收視圖創建一個像這樣的視圖?
- 5. 如何創建像這樣的列表視圖
- 6. 創建堆疊的圖像視差
- 7. 像Stack Overflow這樣的安全AJAX投票系統? (SharePoint實施)
- 8. Jest:比較值沒有視覺差異
- 9. 我如何實現像ask.com這樣的視覺主題?
- 10. 如何創建一個視覺資源安全的差異文件?
- 11. 像Stack Overflow這樣的站點如何在ASP.NET MVC中傳遞用戶信息?
- 12. 如何從java applet視覺輸出創建圖像?
- 13. css視覺差異ids和類
- 14. 如何在iOS中創建像照片庫視圖一樣的視圖?
- 15. 如何創建一個像默認Android EditContact視圖一樣的視圖?
- 16. 如何創建一個這樣的視圖
- 17. 如何創建這樣的iOS表格視圖?
- 18. 如何在sencha touch 2中創建這樣的視圖?
- 19. 如何創建視覺分析器?
- 20. 視覺API:從拖放和java視覺api客戶端結果的差異
- 21. PDF文件的視覺差異以確定像素完美
- 22. OpenCV findContours Stack Overflow
- 23. 如何創建像Instagram一樣的下拉式警告視圖?
- 24. 如何創建像Instagram一樣的自定義照片視圖?
- 25. C++中的AVL樹 - Stack Overflow異常
- 26. 我可以使用TFS提供的通知配置視覺差異視圖嗎?
- 27. 如何創建這個定製視圖
- 28. 如何創建這個索引視圖?
- 29. 我如何創建這個視圖?
- 30. 如何爲svn獲得漂亮的視覺差異?
是的,這只是我覺得 – 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