视图源和调试器之间的代码差异

时间:2013-03-13 16:54:42

标签: html debugging

我的网站上有一个错误,只有在我的404页面上,我的页脚中的第一个标题才会被渲染为链接。进一步调查,我注意到,当我通过“查看来源”查看代码时,代码之间存在细微的差异。和浏览器'调试器' (Chrome和Firefox都生成了相同的代码结果)。我想知道是什么会导致这些代码差异。不应该查看来源'和'调试器'输出相同的代码?

请注意,调试器会在a中插入li.header标记。

来自View Source的输出:

<div class="footer">
  <ul>
    <li class="header">Header Title</li>
    <li>Value01</li>
    <li>Value02</li>
  </ul>
</div>

调试器的输出:

<div class="footer">
  <ul>
    <li class="header"><a href="#">Header Title</a></li>
    <li>Value01</li>
    <li>Value02</li>
  </ul>
</div>

2 个答案:

答案 0 :(得分:1)

如果链接不在源中,则意味着在页面加载期间或之后必须通过其他内容添加链接。这很可能是通过JavaScript完成的(这可能是您的浏览器插件和扩展程序使用的页面脚本中包含的脚本),因此如果您禁用此问题的话可能 不会重演。

View Source的输出将是页面的默认内容 - 不做任何后续修改。

调试器的输出将是页面的当前内容 - 后面有任何修改。

答案 1 :(得分:0)

原来问题出现在我的CMS中,因为我没有正确关闭CMS中某个文本字段中的a标记,从而导致此问题。进一步研究,似乎View Source应该显示页面上存在的代码的当前状态。但是,浏览器调试器会尝试填充缺少的标记,使其更具可呈现性(即 - 在我的情况下添加额外的a标记)。