“轻”首先是一种使用感受
网页是否轻快,不只是下载了多少字节。正文什么时候出现,布局会不会突然移动,点击链接后是否知道去了哪里,都会影响阅读时的感受。把这些问题一起考虑,比只追求一个很小的文件更有意义。
对于个人笔记站,最值得优先保护的是内容。读者打开一篇文章,应该先看到标题和正文,而不是先等待一段动画结束,再寻找真正的阅读入口。
可以先列出页面需要完成的事情:展示文章、提供目录、连接相关内容、说明来源。然后把装饰和附加功能单独放在一边,观察没有它们时,阅读路径是否已经成立。
给每一种资源一个存在的理由
页面上的字体、图片、脚本与样式,都应该帮助完成某个具体任务。图片如果在解释结构或对照差异,就值得为它安排尺寸和说明;如果只是填充空白,则可以重新考虑是否需要。
字体也是一种选择。系统字体可以减少额外下载,自带的字形风格可能不如专门设计的字体统一,但对于短小的阅读站点,通常可以先把字号、行距和层级整理好,再判断外部字体是否真的带来了改善。
引入第三方资源时,还要考虑它增加了什么依赖。页面不只是多一个链接,也多了一个需要理解的加载过程、一个可能变化的服务,以及一项后续维护工作。
让浏览器先做它擅长的事
目录跳转可以使用锚点,分类浏览可以使用普通链接,订阅可以提供一个清楚的源地址。这些功能不必先变成复杂的应用状态,才能被读者使用。
普通页面也有自己的优势:单篇文章可以直接分享,浏览器的前进后退容易理解,保存和查找文字也比较自然。为一个简单问题选择简单结构,并不妨碍网站以后继续扩展。
当确实需要脚本时,先写清楚它负责什么,再考虑它失败时页面是否仍然可读。一个增强体验的功能,不应该成为获取正文的唯一通道。
先观察等待发生在哪里
觉得页面慢时,可以从浏览器的网络面板开始,观察请求什么时候发出、哪些资源占用了较长时间、是否有意外的失败或重复请求。先找到现象,再决定修改哪一部分。
例如,样式已经到达但页面仍然在等待一份与阅读无关的外部脚本,与正文图片本身过大,是两种不同的问题。没有观察就同时修改很多设置,可能既没有解决等待,也失去了比较的依据。
一次只调整一类因素,保存修改前后的结果,并尽量使用相近的设备与网络条件。这样看到的变化才比较容易解释,也能避免把偶然的网络波动当成优化成果。
缓存需要配合更新方式考虑
重复访问时,合理利用缓存能够减少不必要的传输;但更新页面之后,也要能让读者取得对应的新资源。内容与样式的发布方式,需要一起设计。
一种常见的思路是给资源使用明确的版本标识:页面引用哪个版本,就能取得与它匹配的样式。相比修改完成后才反复要求读者清空全部浏览数据,提前安排更新路径更容易维护。
缓存策略没有一个适用于所有内容的固定答案。很少变化的图片、经常修改的首页和带有账户信息的页面,需求并不相同。这里的小站以静态阅读内容为主,也应当围绕它自己的更新频率做取舍。
用真实的阅读任务收尾
完成调整后,不妨模拟一个普通读者:从首页找到某个主题,打开长文,跳到中间的小节,再返回目录。检查这段过程里有没有横向滚动、字号过小或难以点击的入口。
如果保留了开发工具中的指标,也要把它们与这些具体体验放在一起理解。一个数字可以提供线索,但不能代替读者能否顺利完成任务。
轻量网页的目标不是证明自己使用的技术最少,而是让内容和功能之间的关系更清楚。减少无用的请求、无谓的等待和不必要的判断,往往可以从同一个问题开始:读者现在真正需要什么?