这两天有朋友问我如何改造mip,这个问题非常简单,MIP(Mobile Instant Pages - 移动网页加速器),是一套应用于移动网页的开放性技术标准。通过提供 MIP-HTML 规范、MIP-JS 运行环境以及 MIP-Cache 页面缓存系统,实现移动网页加速。 mip-移动加速改造 MIP 主要由三部分组织成: MIP-HTML:基于 HTML 中的基础标签制定了全新的规范,通过对一部分基础标签的使用限制或功能扩展,使 HTML 能够展现更加丰富的内容。 MIP-JS:可以保证 MIP-HT […]
这两天有朋友问我如何改造mip,这个问题非常简单,MIP(Mobile Instant Pages - 移动网页加速器),是一套应用于移动网页的开放性技术标准。通过提供 MIP-HTML 规范、MIP-JS 运行环境以及 MIP-Cache 页面缓存系统,实现移动网页加速。
MIP 主要由三部分组织成:
MIP-HTML:基于 HTML 中的基础标签制定了全新的规范,通过对一部分基础标签的使用限制或功能扩展,使 HTML 能够展现更加丰富的内容。MIP-JS:可以保证 MIP-HTML 页面的快速渲染。MIP-Cache:用于实现 MIP 页面的高速缓存,从而进一步提高页面性能。1. MIP-HTML
提示:MIP-HTML基于 HTML 基础规范进行了扩展。
头部使用规范
页面起始标签使用<!doctype html>。<html>标签必写且唯一,同时必须存在 mip 属性,即:<html mip>。<head>标签必写且唯一,其父元素必须是<html>标签。<body>标签必写且唯一,其父元素必须是<html>标签。必须在<head>标签中包含字符集声明<meta charset="utf-8">,不区分大小写,同时页面字符集必须使用 UTF-8 。必须在<head>标签中包含viewport设置标签<meta name="viewport" content="width=device-width,initial-scale=1">,其中initial-scale=1,同时推荐包含minimum-scale=1。必须在<head>标签中包含<link rel="stylesheet" type="text/css" href="https://c.mipcdn.com/static/v1/mip.css">。必须在<head>标签中包含<link rel="canonical" href="http(s)://example.com">。必须在<body>标签中包含<script src="https://c.mipcdn.com/static/v1/mip.js"></script>,如果包含在<head>标签中则须增加async属性。、
MIP 加速原理
本文档为您详细阐释 MIP 页面的加速原理。
经过精心设计的 JavaScript
为了去除臃肿的客户端脚本,MIP 文件不允许自定义 JavaScript 。对一些强依赖 JavaScript 的功能(如:广告、统计和交互),MIP 提供与 MIP Runtime 兼容封装好的组件来实现。JavaScript 引用原则:
目前 MIP 不允许用户自定义 JavaScript ,需要用 MIP 组件的形式引进来,从而确保安全性和性能表现。可以引用<mip-iframe>组件来引入实现部分富交互的功能,这样,即使开发时使用最影响性能的document.write(),也不会影响主页面的渲染。MIP 组件是开源的,允许开发者自定义功能组件,项目也将持续提供多样的组件,以适应不同的需求。
所有静态资源需要标明尺寸
在页面开发时,资源常常不会被设定宽高,特别是使用广告或者通过调用document.write()
注入的时候。由于资源大小不能确定,页面经常要进行反复重新的绘制。
现在,MIP 要求将所有的资源(广告、图片、音频和视频)标明尺寸。当资源真正加载时,所有资源大小可以被立即推断出并迅速的用于计算页面布局,加载中的资源将无缝呈现,不必因为页面频繁更新布局而影响到用户的阅读体验。
不允许任何机制阻止页面渲染
开发者的任何自定义脚本,都需要用 MIP 的标题反馈给 MIP,例如<mip-ad>、<mip-iframe>等,这些方式不会阻塞页面的layout和渲染。
控制外部资源加载
MIP Runtime 会控制外部资源的按需加载来确保其高效性,从而使用户想阅读的内容尽快出现在屏幕中。
封装交互功能
MIP 提倡网页能给用户直接简单的体验,但这并不意味着 MIP 限制了页面的生动和有趣。MIP Runtime 提供了高度优化的被封装的 JavaScript ,开发者无需投入过多精力去实现复杂的交互功能。
建议使用 inline 的 CSS
CSS 的加载,会阻止页面的渲染,CSS 内联可以减少客户端的开销。
只允许 GPU 加速的动画
MIP 只允许用transforms和opacity来完成动画效果,当动画能在 GPU 上执行时,仅触发渲染层合并。
MIP 缓存
MIP 另一个重要的意义在于能够帮站长加速网页,MIP-Cache 将会把 MIP 网页缓存到百度 CDN 中。只要符合 MIP 标准,都可以使用 MIP 缓存。
开放且持续更新
MIP 是一个开源项目,所有的标准并非一成不变。我们会持续不断进行优化,期待您的共同参与!
页面元素使用规范
MIP-HTML 禁止使用对页面性能以及安全有较大影响的标签,同时也规定了元素的使用方式。
自定义标签
src注意:mip-img 必须存在srcset 或 属性之一
以上就是简单的改造mip 改造头部 图片 整站改造太多了,我就没写了,前面会改造了,后面得也不难!
HTML 属性MIP-HTML 中所有 on 开头的属性都不允许使用,如:onclick,onmouseover 。 MIP-HTML 中允许使用 on 属性。 MIP-HTML 中不允许使用 style 属性。自定义样式使用规范出于性能考虑,HTML 中不允许使用内联 style ,所有样式只能放到 <head> 的 <style> 标签里。
正确
<head><stylemip-custom>p { color: #00f;}
/style></head><body><p>Hello World!</p></body>
错误
<pstyle="color:#00f;">Hello World!</p>
所有 MIP 规范都可以通过 MIP 代码校验工具进行快速检查,帮忙开发者迅速定位到问题! 看了以上 是不是感觉非常简单化?
将网站整体改造对网站的收录率会有所提升,对网站移动端加速,整体页面质量观相对好!