beyond compare 2 导出html调整
参见前文 beyond compare 原始导出的 html 有很多不便之处:原始方案:
1.结构为
<table> <!--两个文件同一行--><tr><td>文件1该行内容</td><td>文件2该行内容</td></tr><tr><td></td><td></td></tr>....</table>
的格式,比较冗余,采用行方式强制保证,两个文件的同一行比较结果对其。
2.由于采用 tr 对同一行进行对其,那么当文件很长时,滚动条会出现在浏览器窗口,且没有各个文件窗口内部的同步纵向横向滚动条(参见 ultracompare ),即使经过优化仍然会出现横向,纵向滚动条不能同时出现在浏览器中的情况,对比很不方便了。
只能从根本上改变结果 html 的结构格式着手,好在 bc 也提供了 xml 格式的比较结果,那么可以自己构建任意的 html 结构
改进方案:
改进结构:
<table><tr><td><div><p></p>...</div></td><td><div><p></p>...</div></td></tr></table> http://dl.iteye.com/upload/attachment/159515/cafae991-f958-3cf2-9fc9-c8aa04156040.png
1.不再使用 tr 进行不同文件同行对比结果的对其,而是使用 div 内 p 的对其来表示。
2.那么可以设置 两个 div 的高度宽度,使得其不超过浏览器窗口,并且通过 js 控制两个 div 同步滚动。
3.关键在两个字符串 conflict 字串的显示问题,由于导出 xml 没有说明两个串的不同子串位置,重点在于使用 LCS 的动态规划解法找出最长公共序列,并对两个字符串内的连续的公共序列进行高亮。
页:
[1]