处理的一个示例是将所有字符更改为大写。在客户端处理之前,网页将完全加载。我只想处理网页上可见的字符。这意味着我不会触及不可见的HTML标签等。但是我需要改变来自非HTML源的输出,比如JavaScript document.write
或PHP脚本,它们将字符发送到输出。
我正在考虑使用JS HTML DOM。这是一个好机制吗?寻找任何其他想法。
答案 0 :(得分:1)
在最简单的情况下,您只关心提供给客户端的HTML,几乎所有语言都可以。但是,当您关心动态生成的内容时,您是对的 - 客户端DOM是唯一的方法。
基本上,这就是你要做的事情:
nodeValue
文本和CDATA
节点。childList
更改。当带有addedNodes
的记录进入时,请为列表中的每个节点运行上一个功能。请记住,变异观察者是DOM的一个相对较新的补充。如果您需要更多支持,可能需要添加一个回退到mutation events,但即使那些没有广泛的支持,和也会显着降低性能。