MIP 页面会有严格的规范校验,不允许存在任何校验不通过的问题存在。如需审查页面规范,可通过 MIP 代码校验工具 查看。本文档意在帮助开发者找到校验的内容和规则,快速定位校验不通过的原因。

MIP-HTML 标签和属性错误

1. 强制性标签缺失

提示 MANDATORY_TAG_MISSING
错误说明 强制性标签 ‘%s’ 缺失或错误
修复方法 增加或修改强制性标签

例如:原本页面中必须存在 <head><body> 标签,但结果却未写这些必备标签。

2. 禁用标签

提示 DISALLOWED_TAG
错误说明 禁止使用 ‘%s’ 标签
修复方法 删除禁用标签

例如:原本页面中禁用 <img><video><audio><iframe> 等标签,但结果却加入了其中一种不允许的标签。

3. 唯一标签重复

提示 DUPLICATE_UNIQUE_TAG
错误说明 标签 ‘%s’ 只能出现一次
修复方法 删除多余标签

如:原本页面中只能存在一个 <head> 标签,但结果却使用了多个。

4. 直接父标签错误

提示 WRONG_PARENT_TAG
错误说明 标签 ‘%s’ 的直接父标签应该是 ‘%s’,而不是 ‘%s’
修复方法 使用正确的父标签

如:原本 <link> 标签的直接父标签(非祖先元素)必须是 <head> ,但结果却将 <link> 写在了 <body> 中。

5. 祖先标签错误

提示 MANDATORY_TAG_ANCESTOR
错误说明 标签 ‘%s’ 只能是标签 ‘%s’ 的子级标签
修复方法 将标签插入到允许的父标签内

如:原本 <input> 必须在 <mip-form> 中使用,即 <mip-form><input> 的祖先元素,但结果却用在了 <body> 中;

6. 非法父级标签

提示 DISALLOWED_TAG_ANCESTOR
错误说明 标签 ‘%s’ 不应该是标签 ‘%s’ 的子标签
修复方法 将标签移出禁用的父标签

如:原本 <script> 的祖先元素禁止是 <template> 标签,但结果却将 <script> 用在了 <template> 中。

7. 强制性属性缺失

提示 MANDATORY_ONEOF_ATTR_MISSING
错误说明 标签 ‘%s’ 的强制性属性 ‘%s’ 缺失
修复方法 增加缺失属性

如:原本 <html> 标签中必须存在 mip 属性,但结果却未写。

8. 无效属性值

提示 INVALID_ATTR_VALUE
错误说明 标签 ‘%s’ 中的属性 ‘%s’ 的属性值 ‘%s’ 无效
修复方法 将属性值修改为规则限定格式

如:原本页面中必须使用 UTF-8 编码,但结果却使用了非 UTF-8 编码。

9. 必要属性缺失或错误

提示 MANDATORY_ATTR_OR_MISSING
错误说明 标签 ‘%s’ 必要属性不符合要求或缺失
修复方法 标签中添加一组必要属性

如:<mip-img> 属性必须存在 srcsrcset 属性,结果却都没有包含其中之一。

10. 属性值的无效值

提示 INVALID_PROPERTY_VALUE_IN_ATTR_VALUE
错误说明 标签 ‘%s’ 中的属性 ‘%s’ 的属性 ‘%s’ 被设置为 ‘%s’,该属性值无效
修复方法 使用正确的属性值

如:原本 <meta name="viewport"> 标签中 content 属性值的 width 必须是 device-width , initial-scale 必须是 1,但结果却将 initial-scale 写为了 2.0。

11. UTF-8 编码错误

提示 DISALLOWED_ENCODING
错误说明 禁止使用 ‘%s’,请统一使用 UTF-8 编码
修复方法 使用 UTF-8 编码

12. 非法 HMTL

提示 INVALID_INNER_HTML
错误说明 标签 ‘%s’ 的 HTML 内容不合法(%s)
修复方法 使用合法 HTML

如:一个元素内部只能是 <span>.*</span>,但结果却加入了其他标签。