MIP 校验规则
MIP 校验规则
MIP页面会有严格的规范校验,不允许存在任何校验不通过的问题存在.
MIP校验工具地址:
本文档意在帮助开发者找到校验的内容和规则,快速定位校验不通过的原因
MIP HTML 标签和属性错误
1. 缺少强制性标签
在MIP HTML中,强制性标签包括:
P.S.: meta 标签 name="viewport" 时, content的值必须且最少含有 width=device-width, minimum-scale=1 以及 initial-scale=1这3个属性且顺序不固定。
2. 禁用标签
大部分 HTML 标签都是允许使用的,禁用或者需要替换的标签使用请参考:
3. 无效属性值
当html标签有属性值不正确的时候,会报这个错误。mip中需要注意的有:
a:href属性不允许使用javascript:协议,
a:target属性需要设置为
_blank
-
mip-img
- src:必须是一个url
-
mip-pix
- src:必须是一个支持https的地址url,
- 如果选用百度云提供的https代理,url中带"t={TIME}&title={TITLE}&host={HOST}&from=baidu"
其他html基本页面属性规范不变
1. MIP HTML中的url强制是https的
2.
<a>
标签:-
<a href="javascript:xxx()"></a>
错-
<a href="xxx" target="_blank"></a>
对4. 属性值的无效值
可能出现属性值的无效值的情况:
-
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
- width的属性值device-width
- initial-scale的属性值1
<script type="application/ld+json"></script>
-
<script type="application/json"></script>
- 除了外链 MIP 所需 js,script标签的type的属性值应该为application/ld+json 或 application/json
1. 除上述给出的值外均为无效值
5. 缺少强制性属性
例如 mip html中 mip-img 和 mip-pix具有强制性属性的src:
- mip-img
- src
- mip-pix
- src
6. 直接父标签错误
有一些标签有制定的直接父标签,如下示例给出了每个标签必须的直接父标签:
- !doctype 的直接父标签是 root
- head 的直接父标签是 html
- body 的直接父标签是 html
- link 的直接父标签是 head
- meta 的直接父标签是 head
- style mip-custom 的直接父标签是 head
- style 的直接父标签是 boilerplate
7. 非法父级标签
如:
-
<body>
的子标签写在了<head>
中
8. 强制父级标签
- img 必须是noscript的子级标签
- video 必须是noscript的子级标签
- audio 必须是noscript的子级标签
- head 中使用 noscript 时必须作为head的最后一个子节点, body中的noscript没有限制
9. 唯一标签重复
一份html中,有的标签具有唯一性,也就是说只能出现一次,当html中有重复的唯一标签的时候,应该报错。
以下是唯一标签列表:
<doctype html>
<html mip>
<head>
<link rel="canonical" href=...>
<meta charset="utf-8">
<meta viewport>
<style mip-custom>
<body>