你网站翻页的时候,点「下一页」要等1秒才能加载出来。这1秒里客户会觉得慢。其实这1秒可以省掉——在客户鼠标悬停在链接上的时候,你就偷偷把下一页加载好。
预加载是什么原理
客户鼠标移到一个链接上,通常要过100-300毫秒才会真的点下去。你检测到鼠标悬停,就在后台偷偷请求那个页面的数据。客户真点的时候,数据已经在了,直接显示。
这是个免费的优化技巧。客户感知速度直接快一倍。
怎么实现
第一种,用现成插件。免费CMS有「预加载」「instant page」插件。装上去自动检测悬停和触摸意图,偷偷预加载链接。不用写代码。
第二种,加一段JS。在页面里加一段小脚本,监听鼠标mouseover事件,碰到a标签就用link预加载那个URL。二十行代码。
第三种,DNS预解析。在HTML头部加一行link rel=dns-prefetch,提前解析你要用的CDN域名、统计域名。小优化。
注意事项
第一,别预加载太多页面。客户鼠标随便划过所有链接,你每个都去请求,服务器压力直接上来。只预加载客户明确悬停的链接,别预加载整个页面所有链接。
第二,移动端没用。手机客户没有鼠标悬停。预加载只对桌面端有效。手机端还是靠前面讲的速度优化。
第三,别预加载POST请求。预加载只做GET请求(看文章、翻页)。表单提交、删除操作别预加载,会出问题。
这个优化小,但效果明显。客户感觉你网站「很跟手」。速度快不只是服务器快,还要让客户感知到快。


