昨天下午三点十七分,我在帮同事林筱筱排查一个旧后台系统的链接行为。她指着一个跳转到外部文档的按钮说,「点一下就把这里弄丢了,回来还得重新筛一遍表格。」我打开开发者工具,翻到那个 a 标签,看到的是熟悉的 target="_blank",没有 rel 属性。于是我们决定做一个小统计:把整站的链接导出,去掉重复,一共 1,284 个,其中 317 个使用了新窗口打开,而真正属于外部域名的只有 96 个。
这 317 个链接里,有 221 个其实是站内导航,比如帮助中心、版本说明、用户协议。它们指向同一套内容体系,却因为历史原因被设置成了新窗口。林筱筱当时的动作很具体:她把这些链接一条条改回当前窗口,然后刷新页面,在表格和帮助中心之间来回点了四次,确认筛选条件没有丢失。这个动作本身,比任何设计规范都更能说明问题。
我个人的观点可能有点不合群:新窗口打开不该被当成默认选项,它应该是一次有明确理由的例外。大多数情况下,用户点击一个链接,期待的是「继续往前走」,而不是「在另一个窗口里重新开始」。把这种期待打断,需要付出解释成本,而很多站点从来没有解释过。我见过一个知识库站点,几乎每个条目都强制新开,读三篇文章就留下七八个标签页,最后用户只能靠标签页标题去猜哪个是哪个。
当然,也有它合理的位置。比如在线编辑器里的外部帮助文档、支付流程中的协议页、以及需要保留当前表单状态的跳转。判断标准其实很简单:问一句「用户回来时,当前页面的状态还重要吗?」如果重要,新窗口就是合理的;如果只是方便开发者少写一行判断,那就不该让用户承担这个成本。写到这里,我想起一个更基础的问题——链接地址本身是否稳定。站内有一篇较早的笔记,讨论过地址的长期可用性:打开49图库的网址,其中对域名与路径变更的观察,倒是和今天的话题形成了对照。
另一个常被忽略的点是可访问性。屏幕阅读器用户在新窗口被打开时,并不会收到足够清晰的提示;键盘用户则可能在窗口之间迷失焦点。如果确实要新开,至少应该给链接加上可以被朗读的提示文本,并且在 rel 属性上做必要的安全声明。我和林筱筱最后达成的共识是:站内跳转一律当前窗口,外链只在「离开本站且需保留当前上下文」时新开,并在视觉上用一个小图标做提示。改动不大,但那一天我们核对了 96 个外链,逐一确认了它们的目的地。
这篇记录写到这里,窗外光线已经暗下来了。我给自己泡的茶还剩半杯,茶面浮着两片叶。整理这些链接的过程很像清理书架,把不该留在外面的书放回原位,把确实要带走的书单独放在一起。站内还有几份资料,我在整理时也会顺手翻看,比如 49tk图库49tk.cm资料库查询官网 以及 管家婆49357特马资料 的索引页,它们更像是对照用的参照物,提醒我链接的命名和落点也是一份需要维护的秩序。最后附上那篇关于恢复正式路径的旧文,也算给这次清理留下一个注脚:找回正版49图库。