MODULE 09 / LESSON 01

Web 的原生行为与页面类型

理解链接、URL、滚动、返回与浏览器习惯。

33 / 60 课适配不同平台

先理解这个概念

网页存在于浏览器中。打开新标签、复制链接、前进后退、文本选择和页面缩放都属于用户熟悉的能力。内容站以阅读与发现为中心,Web 应用以任务和操作为中心,首页结构应该反映这个区别。

Web 用户会使用地址栏、刷新、返回、新标签、复制链接和查找文字。前端路由能减少整页加载,但不能把这些约定当成可忽略的附属功能。一个视图若值得保存或分享,就通常需要稳定地址和直接访问能力;点击能切换并不代表路由体验完整。

用程序员的语言说

浏览器是宿主运行时。重新实现已有能力容易引入边缘行为。

记住这三个原则

  1. 01

    可导航内容提供真实 URL。

  2. 02

    页面变化保持标题、当前位置与返回行为一致。

  3. 03

    保留文本选择和合理滚动,避免滥用全屏固定布局。

实际设计时,分三步做

  1. STEP 01

    区分导航与动作,使用真实链接和按钮语义,让浏览器保留键盘、新标签和地址预览行为。

  2. STEP 02

    为详情、筛选与关键视图定义可恢复状态,验证直接访问、刷新和历史遍历,而不仅是从首页点过去。

  3. STEP 03

    客户端切换时检查标题、焦点、滚动和加载反馈。修复路由初始化与数据加载问题,而不是只改地址栏。

一个容易理解的例子

BEFORE / 常见问题

每个详情都只能在不可链接的浮层中打开,刷新后回到首页。

AFTER / 可以这样改

详情拥有独立地址,支持新标签打开,并能恢复列表上下文。

浏览器能力本身就是产品体验的一部分。

展开看:从场景到设计决定

课程列表打开一篇文章后,URL 应对应课程;复制地址在新窗口打开,仍能得到同一篇内容。上一课和下一课是导航链接。答题展开是当前页面动作,不必生成新页面。若客户端切换失败,应检查实际调用与数据响应;单纯 pushState 会改变地址却不一定更新正文,造成更严重的不一致。

适用边界与取舍

整页导航本身是有效的 Web 行为,但频繁学习切换可能更适合客户端导航。选择实现方式时,应保留平台约定并验证完整体验,而不是把“无刷新”当唯一指标。

YOUR TURN

把这个原则用一次

先做一个小判断

一个技术文档站的首页应该优先提供什么?

再完成一份设计练习

为一个课程详情页写五条导航验收条件,至少包含直接打开和浏览器返回。

容易踩的坑

不要把所有交互都写成 onClick 跳转,真实链接具有额外语义与操作能力。

继续查阅

本课为原创教学解释。具体平台规则与标准可查阅官方资料。

MDN · CSS layout