小编典典

查看网页生成源的最佳方法?

html

我正在寻找一种工具,该工具将为我提供适当的生成源,包括AJAX请求对W3的验证器输入进行的DOM更改。我尝试了以下方法:

  1. Web开发人员工具栏 -根据doc类型生成无效的源(例如,它删除标记的自闭合部分)。丢失页面的doctype部分。
  2. Firebug-修复源代码中的潜在缺陷(例如未关闭的标签)。也丢失标签的doctype部分,并注入本身是无效HTML的控制台。
  3. IE开发者工具栏-根据doc-type生成无效的源(例如,根据XHTML规范,它使所有标记变为大写)。
  4. 高亮显示+视图选择源-通常很难获取整个页面,也排除了doc类型。

是否有任何程序或附加组件可以为我提供确切的当前源版本,而无需以某种方式进行修复或更改?到目前为止,Firebug似乎是最好的,但是我担心它可能会解决我的一些错误。

事实证明,正如贾斯汀解释的那样,我想要的并没有确切的解决方案。最好的解决方案似乎是在Firebug控制台内部验证源,即使其中包含由Firebug引起的一些错误。我还要感谢《被遗忘的分号》解释了为什么“查看生成的源”与实际源不匹配。如果我可以标记2个最佳答案,我会的。


阅读 316

收藏
2020-05-10

共1个答案

小编典典

[更新以响应已编辑问题中的更多详细信息]

您遇到的问题是,通过ajax请求修改页面后,当前HTML仅存在于浏览器的DOM中-除了可以提取的内容之外,不再有任何其他可以验证的独立源HTML。 DOM。

如您所见,IE的DOM以大写形式存储标记,修复未封闭的标记,并对原始HTML进行许多其他更改。这是因为浏览器通常非常擅长处理有问题的HTML(例如未关闭的标签),并修复这些问题以显示对用户有用的内容。据我所知,一旦IE对HTML进行了规范化,从DOM的角度来看,原始的源HTML实际上就已经丢失了。

Firefox大多数likley所做的这些更改较少,因此Firebug可能是您更好的选择。

最终的(且劳动强度更大)的选项可能适用于具有简单ajax更改的页面,例如,从服务器获取一些HTML并将其导入到特定元素内的页面中。在这种情况下,您可以使用提琴手或类似工具将原始HTML与Ajax
HTML手动缝合在一起。这可能比它值得的麻烦多,而且容易出错,但这是另外一种可能性。

[这里是对原始问题的原始答复]

Fiddler是一个免费的,独立于浏览器的工具,可以很好地获取浏览器接收到的HTML。它显示了网络上的确切字节以及解码/解压缩/等内容,您可以将其提供给任何HTML分析工具。它还显示了标头,计时,HTTP状态以及许多其他有用的东西。

如果要测试服务器如何响应略有不同的标头,也可以使用fiddler复制和重建请求。

Fiddler充当代理服务器,位于您的浏览器和网站之间,并记录双向流量。

2020-05-10