MIP 校驗規(guī)則
MIP 校驗規(guī)則
MIP頁面會有嚴格的規(guī)范校驗,不允許存在任何校驗不通過的問題存在.
MIP校驗工具地址:
本文檔意在幫助開發(fā)者找到校驗的內容和規(guī)則,快速定位校驗不通過的原因
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:協(xié)議,
a:target屬性需要設置為
_blank
mip-img
- src:必須是一個url
mip-pix
- src:必須是一個支持https的地址url,
- 如果選用百度云提供的https代理,url中帶"t={TIME}&title={TITLE}&host={HOST}&from=baidu"
其他html基本頁面屬性規(guī)范不變
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的最后一個子節(jié)點, body中的noscript沒有限制
9. 唯一標簽重復
一份html中,有的標簽具有唯一性,也就是說只能出現一次,當html中有重復的唯一標簽的時候,應該報錯。
以下是唯一標簽列表:
<doctype html>
<html mip>
<head>
<link rel="canonical" href=...>
<meta charset="utf-8">
<meta viewport>
<style mip-custom>
<body>