tokenizer阶段字符解码不一致会导致dom错乱,如被切为;模板未闭合、data-uri图片、innerhtml注入及bom/空格干扰亦会引发类似问题。

Tokenizer阶段字符解码不一致导致DOM错乱
HTML解析器在Tokenizer阶段把字节流转成Unicode字符时,若HTTP响应头Content-Type声明的charset与HTML内<meta charset="...">不一致,或文件实际编码(如GBK)与声明编码(如UTF-8)不符,就会产生错位Token。典型现象是<div>被切开成<code><di></di>,<script></script>变成<scri></scri>,注释











