飞行页面会在用户单击之前预加载页面,从而使它们立即加载
怎么运行的?
Flying Pages 会注入一个很小的 JavaScript 代码 (压缩为 1KB),一直等到浏览器变为空闲状态。然后,它会在视口中以及鼠标悬停时检测页面并进行预加载。
Flying Pages 很聪明,可以确保预加载不会使服务器崩溃或变慢。
- 在视口中预加载页面 –使用 「交叉观察器」 检测视口 (当前查看区域) 内的链接,并告诉浏览器使用 「预取」 预加载页面,如果不可用,请切换到 xhr(类似于 Quicklink) 。
- 在鼠标悬停时预加载页面 –在悬停链接上,如果尚未使用 「视口」 上方的页面进行预加载,则 「飞行页面」 将立即预取它们 (类似于 Instant.page) 。
- 限制每秒的预加载次数 –如果页面上的链接太多,则同时预取所有链接将导致服务器崩溃或使访问者的网站速度变慢。飞行页使用内置队列限制每秒的预加载次数 (默认为 3 req / sec) 。例如,如果您在视口中有 10 个链接,则预加载所有链接的时间为 4 秒。
- 如果服务器忙,则停止预加载–如果服务器开始缓慢响应或返回错误,则将停止预加载以减少服务器负载。
- 了解用户的连接和首选项 –检查用户是否处于慢速连接 (如 2G) 或已启用数据保存功能。在这种情况下,Flighting Pages 不会预加载任何内容。