我有兴趣看到一个很好的差异算法,可能在Javascript中,用于渲染两个HTML页面的并排差异.我们的想法是diff会显示渲染 HTML 的差异.
为了澄清,我希望能够将并排差异视为渲染输出.因此,如果我删除一个段落,并排视图将知道正确的空格.
@Josh完全正确.虽然它可能会显示删除的文本为红色或其他东西.我的想法是,如果我为我的HTML内容使用WYSIWYG编辑器,我不希望必须切换到HTML来做差异.我希望与两个WYSIWYG编辑并排.或者至少在最终用户友好的事情中并排显示差异.
在这篇文章中,我问是否有任何工具可以比较2个HTML页面的结构(而不是实际内容).我问,因为我从设计师那里收到HTML模板,并经常错过我的实现中的次要格式更改.然后我浪费了几个小时的设计师时间筛选我的页面来发现我的错误.
该主题提供了一些很好的建议,但没有任何东西适合该法案."好吧,然后",我想,"我只是自己动摇一下.我是一个中等开发者,对吗?"
好吧,一旦我开始思考它,我就无法弄清楚如何去做.我可以轻松地创建一个数据驱动的网站,或者进行CMS实施,或者整天将文档放入和放出BizTalk.无法开始弄清楚如何比较HTML文档.
嗯,当然,我必须阅读DOM,并遍历节点.我必须将结构映射到一些数据结构(如何??),然后比较它们(如何??).这是一项我从未尝试过的开发任务.
所以既然我已经发现了自己的知识上的弱点,那我就更难以解决这个问题.有关如何入门的任何建议?
澄清:实际内容不是我想要比较的 - 创意人用lorem ipsum填充他们的页面,我使用真实内容.相反,我想比较结构:
<div class="foo">lorem ipsum<div>
不同的是
<div class="foo">
<p>lorem ipsum<p>
<div>
我想比较两个HTML文档,并想知道它们是否相同.但是,只有通过DOM结构,这意味着忽略标签的属性的顺序比较,例如,<table id="one" name="table">,<table name="table" id="one">是相同的.