什么是HTMLness bit?Range.createContextualFragment相关术语疑问
HTMLness bit 定义
HTMLness bit 是HTML标准中定义的Document实例的内部布尔标记位,作用是明确标识当前文档的类型归属,用来决定涉及解析逻辑的API应该采用哪种解析规则。
标记位的判定规则
- 所有MIME类型为
text/html的文档,这个标记位都会被设为true,我们日常访问的绝大多数网页都属于这类 - MIME类型为
application/xhtml+xml的XHTML文档、通过document.implementation.createDocument()创建的纯XML文档,这个标记位会被设为false
在Range.createContextualFragment中的作用
你看到的MDN描述里的逻辑对应如下:
当标记位为
true时,方法调用HTML片段解析算法:对传入的片段做兼容HTML语法的解析,比如自动补全缺失的闭合标签、自动将标签名转为小写、支持HTML独有的自闭合标签写法等
当标记位为false时,方法调用XML片段解析算法:采用严格的XML语法校验,标签大小写敏感、不会自动补全缺失标签、遇到语法错误会直接终止解析抛出异常
这个术语属于浏览器底层实现层面的标准定义,不是面向开发者的公开可操作API,所以公开渠道的相关解释很少。
内容的提问来源于stack exchange,提问作者edddd
相关产品推荐
相关产品推荐

