繁体   English   中英

经过大量JS dom注入/操作后的DOM验证

[英]DOM Validation after a lot of JS dom injection/manipulation

有没有人知道在操作和注入后验证页面DOM的工具。

问题是我有一个非常复杂的页面,其中一些html通过来自CMS的js注入(这并不总是很遗憾)还有很多dom元素通过页面上的JS UI元素添加和删除加上其他MVC风格的部分。 萤火虫等倾向于自己关闭标签。 我想我可以注销整个DOM树并将其粘贴到验证器中,但我正在寻找更优雅的东西?

编辑:

澄清:我有一个项目,其中DOM被搞砸了,但是在MVC(骨干)模式中使用JS模板(小胡子)以及用户和CMS输入可能有数十个,可能多达200个HTML碎片。 。 我正在寻找一个方便的工具,可以在任何场景中快照DOM,并给我更清晰的指针,而不是内置到Dev.Tools/ Firebug

如果我在这里错了,有人可以纠正我,但验证是将HTML 文档传递给浏览器。 在解析和加载DOM之后对DOM所做的任何事情都不受验证规则的限制。 此外,无法保证在一个符合W3C标准的浏览器中转储DOM与另一个浏览器中的同一转储相同。 这就是为什么如果你检查旧版本的IE上的innerHTML ,你会看到那里的非验证数据,如<TD COLSPAN=3> ; 在W3C标准中,这些东西显然是无效的,但根据IE的定义它完全有效。

而且,不幸的是,如果你通过JS将整个HTML注入浏览器,那么这些东西永远不会被验证,因为它缺少所有东西(比如<head><html> )。

你可以做的一件事(我已经看过在我们的CMS上做了很多用户生成的HTML,这通常很糟糕)是将片段的文本加载到XML shell中,如下所示:

<?xml version="1.0"?>
<container>{html_string_to_validate}</container>

然后将其加载到XML解析器中(任何类型都可以)。 这不会捕获HTML问题,但会捕获嵌套和实体问题。 你可能需要解决一些问题(我认为如果它看到像<script src="..."></script>这样的空标签,一些解析器可能会发出警告)。

Total Validator允许您在javascript运行后验证DOM。 您需要安装免费应用程序,然后安装他们的浏览器扩展。 然后,您只需单击要验证的任何页面上的图标,它就会将DOM发送到应用程序以进行验证。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM